weka.classifiers.trees.j48
Class NBTreeSplit

java.lang.Object
  extended byweka.classifiers.trees.j48.ClassifierSplitModel
      extended byweka.classifiers.trees.j48.NBTreeSplit
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class NBTreeSplit
extends ClassifierSplitModel

Class implementing a NBTree split on an attribute.

Version:
$Revision: 1.1 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
Serialized Form

Constructor Summary
NBTreeSplit(int attIndex, int minNoObj, double sumOfWeights)
          Initializes the split model.
 
Method Summary
 int attIndex()
          Returns index of attribute for which split was generated.
 void buildClassifier(Instances trainInstances)
          Creates a NBTree-type split on the given data.
 double classProb(int classIndex, Instance instance, int theSubset)
          Return the probability for a class value
 double getErrors()
          Return the errors made by the naive bayes models arising from this split.
 NBTreeNoSplit getGlobalModel()
          Return the global naive bayes model for this node
 java.lang.String leftSide(Instances data)
          Prints left side of condition..
 java.lang.String rightSide(int index, Instances data)
          Prints the condition satisfied by instances in a subset.
 void setGlobalModel(NBTreeNoSplit global)
          Set the global naive bayes model for this node
 java.lang.String sourceExpression(int index, Instances data)
          Returns a string containing java source code equivalent to the test made at this node.
 double[] weights(Instance instance)
          Returns weights if instance is assigned to more than one subset.
 int whichSubset(Instance instance)
          Returns index of subset instance is assigned to.
 
Methods inherited from class weka.classifiers.trees.j48.ClassifierSplitModel
checkModel, classifyInstance, classProbLaplace, clone, codingCost, distribution, dumpLabel, dumpModel, numSubsets, resetDistribution, sourceClass, split
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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