Class ResidualSplit

java.lang.Object
weka.classifiers.trees.j48.ClassifierSplitModel
weka.classifiers.trees.lmt.ResidualSplit
All Implemented Interfaces:
Serializable, 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: 8034 $
Author:
Niels Landwehr
See Also:
  • Constructor Details

    • ResidualSplit

      public ResidualSplit(int attIndex)
      Creates a split object
      Parameters:
      attIndex - the index of the attribute to split on
  • Method Details

    • buildClassifier

      public void buildClassifier(Instances data, double[][] dataZs, double[][] dataWs) throws Exception
      Builds the split. Needs the Z/W values of LogitBoost for the set of instances.
      Throws:
      Exception
    • entropyGain

      public double entropyGain() throws Exception
      Computes entropy gain for current split.
      Throws:
      Exception
    • checkModel

      public boolean checkModel(int minNumInstances)
      Checks if there are at least 2 subsets that contain >= minNumInstances.
    • leftSide

      public final String leftSide(Instances data)
      Returns name of splitting attribute (left side of condition).
      Specified by:
      leftSide in class ClassifierSplitModel
      Parameters:
      data - the data.
    • rightSide

      public final String rightSide(int index, Instances data)
      Prints the condition satisfied by instances in a subset.
      Specified by:
      rightSide in class ClassifierSplitModel
    • whichSubset

      public final int whichSubset(Instance instance) throws 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 class ClassifierSplitModel
      Throws:
      Exception - if something goes wrong
    • buildClassifier

      public void buildClassifier(Instances data)
      Method not in use
      Specified by:
      buildClassifier in class ClassifierSplitModel
    • weights

      public final double[] weights(Instance instance)
      Method not in use
      Specified by:
      weights in class ClassifierSplitModel
    • sourceExpression

      public final String sourceExpression(int index, Instances data)
      Method not in use
      Specified by:
      sourceExpression in class ClassifierSplitModel
    • getRevision

      public String getRevision()
      Returns the revision string.
      Returns:
      the revision