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: 8034 $
  Author:
    Niels Landwehr
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResidualSplit(int attIndex)` Creates a split object

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `buildClassifier(Instances data)` Method not in use
    `void` | `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 use
    `double[]` | `weights(Instance instance)` Method not in use
    `int` | `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, setDistribution, sourceClass, split`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ResidualSplit

          public ResidualSplit(int attIndex)

      Creates a split object
      Parameters:
        `attIndex` - the index of the attribute to split on

  - ### 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 class `ClassifierSplitModel`
      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 class `ClassifierSplitModel`

    - #### 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 class `ClassifierSplitModel`
      Throws:
        `java.lang.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 java.lang.String sourceExpression(int index,
                                                         Instances data)

      Method not in use
      Specified by:
        `sourceExpression` in class `ClassifierSplitModel`

    - #### getRevision

          public java.lang.String getRevision()

      Returns the revision string.
      Returns:
        the revision