public class CHAIDModelSelection
extends weka.classifiers.trees.j48.C45ModelSelection
Modifier and Type | Field and Description |
---|---|
protected int |
m_minNumObjSplit
Minimum number of instances to split a node
|
protected weka.core.Range |
m_ordinalAtts
Stores which attributes are ordinals (monotonic predictors)
(based on the member m_DiscretizeCols of weka.filters.supervised.attribute.Discretize class)
|
protected boolean |
m_searchBestSplit
Indicates if the quest of the best binary split will be done, after merging 3 or more categories
This process could add a considerable latency and that is why it is optional.
|
protected double |
m_sigLevelAtt
Significance level for the selection of the attribute to split a node.
|
protected double |
m_sigLevelMergeSplit
Significance level for the quest of the best combination of the categories of an attribute
|
private static long |
serialVersionUID
for serialization
|
Constructor and Description |
---|
CHAIDModelSelection(int minNoObj,
weka.core.Instances allData,
boolean useMDLcorrection,
boolean doNotMakeSplitPointActualValue,
double sigLevelAtt,
double sigLevelMergeSplit,
boolean searchBestSplit,
int minNumObjSplit,
weka.core.Range ordinalAtts)
Initializes the split selection method with the given parameters.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getRevision()
Returns the revision string.
|
boolean |
isOrdinalAtt(int i_att)
Indicates if i_att attribute is marked as ordinal
|
weka.classifiers.trees.j48.ClassifierSplitModel |
selectModel(weka.core.Instances data)
Selects CHAID-type split for the given dataset.
|
private static final long serialVersionUID
protected double m_sigLevelAtt
protected double m_sigLevelMergeSplit
protected boolean m_searchBestSplit
protected int m_minNumObjSplit
protected weka.core.Range m_ordinalAtts
public CHAIDModelSelection(int minNoObj, weka.core.Instances allData, boolean useMDLcorrection, boolean doNotMakeSplitPointActualValue, double sigLevelAtt, double sigLevelMergeSplit, boolean searchBestSplit, int minNumObjSplit, weka.core.Range ordinalAtts)
minNoObj
- minimum number of instances that have to occur in at least
two subsets induced by splitallData
- FULL training dataset (necessary for selection of split
points).useMDLcorrection
- whether to use MDL adjustement when finding splits
on numeric attributesdoNotMakeSplitPointActualValue
- if true, split point is not relocated
by scanning the entire dataset for the closest data valuesigLevel
- Significance level for the selection of attributesordinalAtts
- List of ordinal attributespublic weka.classifiers.trees.j48.ClassifierSplitModel selectModel(weka.core.Instances data)
selectModel
in class weka.classifiers.trees.j48.C45ModelSelection
public boolean isOrdinalAtt(int i_att)
i_att
- Index of attributepublic java.lang.String getRevision()
getRevision
in interface weka.core.RevisionHandler
getRevision
in class weka.classifiers.trees.j48.C45ModelSelection