Package weka.classifiers.trees.lmt
Class ResidualSplit
- java.lang.Object
-
- weka.classifiers.trees.j48.ClassifierSplitModel
-
- weka.classifiers.trees.lmt.ResidualSplit
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,RevisionHandler
public class ResidualSplit extends ClassifierSplitModel
Helper class for logistic model trees (weka.classifiers.trees.lmt.LMT) to implement the splitting criterion based on residuals of the LogitBoost algorithm.- Version:
- $Revision: 1.4 $
- Author:
- Niels Landwehr
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ResidualSplit(int attIndex)
Creates a split object
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildClassifier(Instances data)
Method not in usevoid
buildClassifier(Instances data, double[][] dataZs, double[][] dataWs)
Builds the split.boolean
checkModel(int minNumInstances)
Checks if there are at least 2 subsets that contain >= minNumInstances.double
entropyGain()
Computes entropy gain for current split.java.lang.String
getRevision()
Returns the revision string.java.lang.String
leftSide(Instances data)
Returns name of splitting attribute (left side of condition).java.lang.String
rightSide(int index, Instances data)
Prints the condition satisfied by instances in a subset.java.lang.String
sourceExpression(int index, Instances data)
Method not in usedouble[]
weights(Instance instance)
Method not in useint
whichSubset(Instance instance)
Returns index of subset instance is assigned to.-
Methods inherited from class weka.classifiers.trees.j48.ClassifierSplitModel
checkModel, classifyInstance, classProb, classProbLaplace, clone, codingCost, distribution, dumpLabel, dumpModel, numSubsets, resetDistribution, sourceClass, split
-
-
-
-
Method Detail
-
buildClassifier
public void buildClassifier(Instances data, double[][] dataZs, double[][] dataWs) throws java.lang.Exception
Builds the split. Needs the Z/W values of LogitBoost for the set of instances.- Throws:
java.lang.Exception
-
entropyGain
public double entropyGain() throws java.lang.Exception
Computes entropy gain for current split.- Throws:
java.lang.Exception
-
checkModel
public boolean checkModel(int minNumInstances)
Checks if there are at least 2 subsets that contain >= minNumInstances.
-
leftSide
public final java.lang.String leftSide(Instances data)
Returns name of splitting attribute (left side of condition).- Specified by:
leftSide
in classClassifierSplitModel
- Parameters:
data
- the data.
-
rightSide
public final java.lang.String rightSide(int index, Instances data)
Prints the condition satisfied by instances in a subset.- Specified by:
rightSide
in classClassifierSplitModel
-
whichSubset
public final int whichSubset(Instance instance) throws java.lang.Exception
Description copied from class:ClassifierSplitModel
Returns index of subset instance is assigned to. Returns -1 if instance is assigned to more than one subset.- Specified by:
whichSubset
in classClassifierSplitModel
- Throws:
java.lang.Exception
- if something goes wrong
-
buildClassifier
public void buildClassifier(Instances data)
Method not in use- Specified by:
buildClassifier
in classClassifierSplitModel
-
weights
public final double[] weights(Instance instance)
Method not in use- Specified by:
weights
in classClassifierSplitModel
-
sourceExpression
public final java.lang.String sourceExpression(int index, Instances data)
Method not in use- Specified by:
sourceExpression
in classClassifierSplitModel
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Returns:
- the revision
-
-