Package weka.classifiers.trees.j48
Class C45Split
- java.lang.Object
-
- weka.classifiers.trees.j48.ClassifierSplitModel
-
- weka.classifiers.trees.j48.C45Split
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,RevisionHandler
public class C45Split extends ClassifierSplitModel
Class implementing a C4.5-type split on an attribute.- Version:
- $Revision: 1.13 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description C45Split(int attIndex, int minNoObj, double sumOfWeights)Initializes the split model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intattIndex()Returns index of attribute for which split was generated.voidbuildClassifier(Instances trainInstances)Creates a C4.5-type split on the given data.doubleclassProb(int classIndex, Instance instance, int theSubset)Gets class probability for instance.doublecodingCost()Returns coding cost for split (used in rule learner).doublegainRatio()Returns (C4.5-type) gain ratio for the generated split.java.lang.StringgetRevision()Returns the revision string.doubleinfoGain()Returns (C4.5-type) information gain for the generated split.java.lang.StringleftSide(Instances data)Prints left side of condition..double[][]minsAndMaxs(Instances data, double[][] minsAndMaxs, int index)Returns the minsAndMaxs of the index.th subset.voidresetDistribution(Instances data)Sets distribution associated with model.java.lang.StringrightSide(int index, Instances data)Prints the condition satisfied by instances in a subset.voidsetSplitPoint(Instances allInstances)Sets split point to greatest value in given data smaller or equal to old split point.java.lang.StringsourceExpression(int index, Instances data)Returns a string containing java source code equivalent to the test made at this node.double[]weights(Instance instance)Returns weights if instance is assigned to more than one subset.intwhichSubset(Instance instance)Returns index of subset instance is assigned to.-
Methods inherited from class weka.classifiers.trees.j48.ClassifierSplitModel
checkModel, classifyInstance, classProbLaplace, clone, distribution, dumpLabel, dumpModel, numSubsets, sourceClass, split
-
-
-
-
Method Detail
-
buildClassifier
public void buildClassifier(Instances trainInstances) throws java.lang.Exception
Creates a C4.5-type split on the given data. Assumes that none of the class values is missing.- Specified by:
buildClassifierin classClassifierSplitModel- Throws:
java.lang.Exception- if something goes wrong
-
attIndex
public final int attIndex()
Returns index of attribute for which split was generated.
-
classProb
public final double classProb(int classIndex, Instance instance, int theSubset) throws java.lang.ExceptionGets class probability for instance.- Overrides:
classProbin classClassifierSplitModel- Throws:
java.lang.Exception- if something goes wrong
-
codingCost
public final double codingCost()
Returns coding cost for split (used in rule learner).- Overrides:
codingCostin classClassifierSplitModel
-
gainRatio
public final double gainRatio()
Returns (C4.5-type) gain ratio for the generated split.
-
infoGain
public final double infoGain()
Returns (C4.5-type) information gain for the generated split.
-
leftSide
public final java.lang.String leftSide(Instances data)
Prints left side of condition..- Specified by:
leftSidein classClassifierSplitModel- Parameters:
data- training set.
-
rightSide
public final java.lang.String rightSide(int index, Instances data)Prints the condition satisfied by instances in a subset.- Specified by:
rightSidein classClassifierSplitModel- Parameters:
index- of subsetdata- training set.
-
sourceExpression
public final java.lang.String sourceExpression(int index, Instances data)Returns a string containing java source code equivalent to the test made at this node. The instance being tested is called "i".- Specified by:
sourceExpressionin classClassifierSplitModel- Parameters:
index- index of the nominal value testeddata- the data containing instance structure info- Returns:
- a value of type 'String'
-
setSplitPoint
public final void setSplitPoint(Instances allInstances)
Sets split point to greatest value in given data smaller or equal to old split point. (C4.5 does this for some strange reason).
-
minsAndMaxs
public final double[][] minsAndMaxs(Instances data, double[][] minsAndMaxs, int index)
Returns the minsAndMaxs of the index.th subset.
-
resetDistribution
public void resetDistribution(Instances data) throws java.lang.Exception
Sets distribution associated with model.- Overrides:
resetDistributionin classClassifierSplitModel- Throws:
java.lang.Exception
-
weights
public final double[] weights(Instance instance)
Returns weights if instance is assigned to more than one subset. Returns null if instance is only assigned to one subset.- Specified by:
weightsin classClassifierSplitModel
-
whichSubset
public final int whichSubset(Instance instance) throws java.lang.Exception
Returns index of subset instance is assigned to. Returns -1 if instance is assigned to more than one subset.- Specified by:
whichSubsetin classClassifierSplitModel- Throws:
java.lang.Exception- if something goes wrong
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Returns:
- the revision
-
-