Class NBTreeNoSplit

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

    public final class NBTreeNoSplit
    extends ClassifierSplitModel
    Class implementing a "no-split"-split (leaf node) for naive bayes trees.
    Version:
    $Revision: 1.4 $
    Author:
    Mark Hall (mhall@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • NBTreeNoSplit

        public NBTreeNoSplit()
    • Method Detail

      • buildClassifier

        public final void buildClassifier​(Instances instances)
                                   throws java.lang.Exception
        Build the no-split node
        Specified by:
        buildClassifier in class ClassifierSplitModel
        Parameters:
        instances - an Instances value
        Throws:
        java.lang.Exception - if an error occurs
      • getErrors

        public double getErrors()
        Return the errors made by the naive bayes model at this node
        Returns:
        the number of errors made
      • getDiscretizer

        public Discretize getDiscretizer()
        Return the discretizer used at this node
        Returns:
        a Discretize value
      • getNaiveBayesModel

        public NaiveBayesUpdateable getNaiveBayesModel()
        Get the naive bayes model at this node
        Returns:
        a NaiveBayesUpdateable value
      • leftSide

        public final java.lang.String leftSide​(Instances instances)
        Does nothing because no condition has to be satisfied.
        Specified by:
        leftSide in class ClassifierSplitModel
        Parameters:
        instances - the data.
      • rightSide

        public final java.lang.String rightSide​(int index,
                                                Instances instances)
        Does nothing because no condition has to be satisfied.
        Specified by:
        rightSide 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'
      • 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
      • toString

        public java.lang.String toString()
        Return a textual description of the node
        Overrides:
        toString in class java.lang.Object
        Returns:
        a String value
      • crossValidate

        public static double crossValidate​(NaiveBayesUpdateable fullModel,
                                           Instances trainingSet,
                                           java.util.Random r)
                                    throws java.lang.Exception
        Utility method for fast 5-fold cross validation of a naive bayes model
        Parameters:
        fullModel - a NaiveBayesUpdateable value
        trainingSet - an Instances value
        r - a Random value
        Returns:
        a double value
        Throws:
        java.lang.Exception - if an error occurs
      • getRevision

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