Class NBTreeNoSplit

java.lang.Object
weka.classifiers.trees.j48.ClassifierSplitModel
weka.classifiers.trees.j48.NBTreeNoSplit
All Implemented Interfaces:
Serializable, Cloneable, RevisionHandler

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

    • NBTreeNoSplit

      public NBTreeNoSplit()
  • Method Details

    • buildClassifier

      public final void buildClassifier(Instances instances) throws Exception
      Build the no-split node
      Specified by:
      buildClassifier in class ClassifierSplitModel
      Parameters:
      instances - an Instances value
      Throws:
      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
    • whichSubset

      public final int whichSubset(Instance instance)
      Always returns 0 because only there is only one subset.
      Specified by:
      whichSubset in class ClassifierSplitModel
    • weights

      public final double[] weights(Instance instance)
      Always returns null because there is only one subset.
      Specified by:
      weights in class ClassifierSplitModel
    • leftSide

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

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

      public static double crossValidate(NaiveBayesUpdateable fullModel, Instances trainingSet, Random r) throws 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:
      Exception - if an error occurs
    • getRevision

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