Class NBTreeSplit

All Implemented Interfaces:
Serializable, Cloneable, RevisionHandler

public class NBTreeSplit extends ClassifierSplitModel
Class implementing a NBTree split on an attribute.
Version:
$Revision: 10531 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • NBTreeSplit

      public NBTreeSplit(int attIndex, int minNoObj, double sumOfWeights)
      Initializes the split model.
  • Method Details

    • buildClassifier

      public void buildClassifier(Instances trainInstances) throws Exception
      Creates a NBTree-type split on the given data. Assumes that none of the class values is missing.
      Specified by:
      buildClassifier in class ClassifierSplitModel
      Throws:
      Exception - if something goes wrong
    • attIndex

      public final int attIndex()
      Returns index of attribute for which split was generated.
    • whichSubset

      public final int whichSubset(Instance instance) throws Exception
      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
    • 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:
      weights in class ClassifierSplitModel
    • sourceExpression

      public final 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:
      sourceExpression in class ClassifierSplitModel
      Parameters:
      index - index of the nominal value tested
      data - the data containing instance structure info
      Returns:
      a value of type 'String'
    • rightSide

      public final String rightSide(int index, Instances data)
      Prints the condition satisfied by instances in a subset.
      Specified by:
      rightSide in class ClassifierSplitModel
      Parameters:
      index - of subset
      data - training set.
    • leftSide

      public final String leftSide(Instances data)
      Prints left side of condition..
      Specified by:
      leftSide in class ClassifierSplitModel
      Parameters:
      data - training set.
    • classProb

      public double classProb(int classIndex, Instance instance, int theSubset) throws Exception
      Return the probability for a class value
      Overrides:
      classProb in class ClassifierSplitModel
      Parameters:
      classIndex - the index of the class value
      instance - the instance to generate a probability for
      theSubset - the subset to consider
      Returns:
      a probability
      Throws:
      Exception - if an error occurs
    • getGlobalModel

      public NBTreeNoSplit getGlobalModel()
      Return the global naive bayes model for this node
      Returns:
      a NBTreeNoSplit value
    • setGlobalModel

      public void setGlobalModel(NBTreeNoSplit global)
      Set the global naive bayes model for this node
      Parameters:
      global - a NBTreeNoSplit value
    • getErrors

      public double getErrors()
      Return the errors made by the naive bayes models arising from this split.
      Returns:
      a double value
    • getRevision

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