Class NBTreeSplit

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, RevisionHandler

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

      • NBTreeSplit

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

      • buildClassifier

        public void buildClassifier​(Instances trainInstances)
                             throws java.lang.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:
        java.lang.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 java.lang.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:
        java.lang.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 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:
        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 java.lang.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 java.lang.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 java.lang.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:
        java.lang.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 java.lang.String getRevision()
        Returns the revision string.
        Returns:
        the revision