public class C45Split extends ClassifierSplitModel
| Modifier and Type | Field and Description |
|---|---|
protected static GainRatioSplitCrit |
gainRatioCrit
Static reference to splitting criterion.
|
protected static InfoGainSplitCrit |
infoGainCrit
Static reference to splitting criterion.
|
protected int |
m_attIndex
Attribute to split on.
|
protected int |
m_complexityIndex
Desired number of branches.
|
protected double |
m_gainRatio
GainRatio of split.
|
protected int |
m_index
Number of split points.
|
protected double |
m_infoGain
InfoGain of split.
|
protected int |
m_minNoObj
Minimum number of objects in a split.
|
protected double |
m_splitPoint
Value of split point.
|
protected double |
m_sumOfWeights
The sum of the weights of the instances.
|
protected boolean |
m_useMDLcorrection
Use MDL correction?
|
m_distribution, m_numSubsets| Constructor and Description |
|---|
C45Split(int attIndex,
int minNoObj,
double sumOfWeights,
boolean useMDLcorrection)
Initializes the split model.
|
| Modifier and Type | Method and Description |
|---|---|
int |
attIndex()
Returns index of attribute for which split was generated.
|
void |
buildClassifier(Instances trainInstances)
Creates a C4.5-type split on the given data.
|
double |
classProb(int classIndex,
Instance instance,
int theSubset)
Gets class probability for instance.
|
double |
codingCost()
Returns coding cost for split (used in rule learner).
|
double |
gainRatio()
Returns (C4.5-type) gain ratio for the generated split.
|
java.lang.String |
getRevision()
Returns the revision string.
|
double |
infoGain()
Returns (C4.5-type) information gain for the generated split.
|
java.lang.String |
leftSide(Instances data)
Prints left side of condition..
|
double[][] |
minsAndMaxs(Instances data,
double[][] minsAndMaxs,
int index)
Returns the minsAndMaxs of the index.th subset.
|
void |
resetDistribution(Instances data)
Sets distribution associated with model.
|
java.lang.String |
rightSide(int index,
Instances data)
Prints the condition satisfied by instances in a subset.
|
void |
setSplitPoint(Instances allInstances)
Sets split point to greatest value in given data smaller or equal to old split point.
|
java.lang.String |
sourceExpression(int index,
Instances data)
Returns a string containing java source code equivalent to the test made at this node.
|
double |
splitPoint()
Returns the split point (numeric attribute only).
|
double[] |
weights(Instance instance)
Returns weights if instance is assigned to more than one subset.
|
int |
whichSubset(Instance instance)
Returns index of subset instance is assigned to.
|
checkModel, classifyInstance, classProbLaplace, clone, distribution, dumpLabel, dumpModel, numSubsets, setDistribution, sourceClass, splitprotected int m_complexityIndex
protected final int m_attIndex
protected final int m_minNoObj
protected final boolean m_useMDLcorrection
protected double m_splitPoint
protected double m_infoGain
protected double m_gainRatio
protected final double m_sumOfWeights
protected int m_index
protected static InfoGainSplitCrit infoGainCrit
protected static GainRatioSplitCrit gainRatioCrit
public C45Split(int attIndex,
int minNoObj,
double sumOfWeights,
boolean useMDLcorrection)
public void buildClassifier(Instances trainInstances) throws java.lang.Exception
buildClassifier in class ClassifierSplitModeljava.lang.Exception - if something goes wrongpublic final int attIndex()
public double splitPoint()
public final double classProb(int classIndex,
Instance instance,
int theSubset)
throws java.lang.Exception
classProb in class ClassifierSplitModeljava.lang.Exception - if something goes wrongpublic final double codingCost()
codingCost in class ClassifierSplitModelpublic final double gainRatio()
public final double infoGain()
public final java.lang.String leftSide(Instances data)
leftSide in class ClassifierSplitModeldata - training set.public final java.lang.String rightSide(int index,
Instances data)
rightSide in class ClassifierSplitModelindex - of subsetdata - training set.public final java.lang.String sourceExpression(int index,
Instances data)
sourceExpression in class ClassifierSplitModelindex - index of the nominal value testeddata - the data containing instance structure infopublic final void setSplitPoint(Instances allInstances)
public final double[][] minsAndMaxs(Instances data, double[][] minsAndMaxs, int index)
public void resetDistribution(Instances data) throws java.lang.Exception
resetDistribution in class ClassifierSplitModeljava.lang.Exceptionpublic final double[] weights(Instance instance)
weights in class ClassifierSplitModelpublic final int whichSubset(Instance instance) throws java.lang.Exception
whichSubset in class ClassifierSplitModeljava.lang.Exception - if something goes wrongpublic java.lang.String getRevision()