Package weka.classifiers.trees
Class NBTree
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.trees.NBTree
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,AdditionalMeasureProducer
,CapabilitiesHandler
,Drawable
,OptionHandler
,RevisionHandler
,Summarizable
,TechnicalInformationHandler
,WeightedInstancesHandler
public class NBTree extends Classifier implements WeightedInstancesHandler, Drawable, Summarizable, AdditionalMeasureProducer, TechnicalInformationHandler
Class for generating a decision tree with naive Bayes classifiers at the leaves.
For more information, see
Ron Kohavi: Scaling Up the Accuracy of Naive-Bayes Classifiers: A Decision-Tree Hybrid. In: Second International Conference on Knoledge Discovery and Data Mining, 202-207, 1996. BibTeX:@inproceedings{Kohavi1996, author = {Ron Kohavi}, booktitle = {Second International Conference on Knoledge Discovery and Data Mining}, pages = {202-207}, title = {Scaling Up the Accuracy of Naive-Bayes Classifiers: A Decision-Tree Hybrid}, year = {1996} }
Valid options are:-D If set, classifier is run in debug mode and may output additional info to the console
- Version:
- $Revision: 1.10 $
- Author:
- Mark Hall
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE
-
-
Constructor Summary
Constructors Constructor Description NBTree()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildClassifier(Instances instances)
Generates the classifier.double
classifyInstance(Instance instance)
Classifies an instance.double[]
distributionForInstance(Instance instance)
Returns class probabilities for an instance.java.util.Enumeration
enumerateMeasures()
Returns an enumeration of the additional measure namesCapabilities
getCapabilities()
Returns default capabilities of the classifier.double
getMeasure(java.lang.String additionalMeasureName)
Returns the value of the named measurejava.lang.String
getRevision()
Returns the revision string.TechnicalInformation
getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.java.lang.String
globalInfo()
Returns a string describing classifierjava.lang.String
graph()
Returns graph describing the tree.int
graphType()
Returns the type of graph this classifier represents.static void
main(java.lang.String[] argv)
Main method for testing this classdouble
measureNumLeaves()
Returns the number of leavesdouble
measureNumRules()
Returns the number of rules (same as number of leaves)double
measureTreeSize()
Returns the size of the treejava.lang.String
toString()
Returns a description of the classifier.java.lang.String
toSummaryString()
Returns a superconcise version of the model-
Methods inherited from class weka.classifiers.Classifier
debugTipText, forName, getDebug, getOptions, listOptions, makeCopies, makeCopy, setDebug, setOptions
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
getTechnicalInformation
public TechnicalInformation getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.- Specified by:
getTechnicalInformation
in interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classClassifier
- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances instances) throws java.lang.Exception
Generates the classifier.- Specified by:
buildClassifier
in classClassifier
- Parameters:
instances
- the data to train with- Throws:
java.lang.Exception
- if classifier can't be built successfully
-
classifyInstance
public double classifyInstance(Instance instance) throws java.lang.Exception
Classifies an instance.- Overrides:
classifyInstance
in classClassifier
- Parameters:
instance
- the instance to classify- Returns:
- the classification
- Throws:
java.lang.Exception
- if instance can't be classified successfully
-
distributionForInstance
public final double[] distributionForInstance(Instance instance) throws java.lang.Exception
Returns class probabilities for an instance.- Overrides:
distributionForInstance
in classClassifier
- Parameters:
instance
- the instance to get the distribution for- Returns:
- the class probabilities
- Throws:
java.lang.Exception
- if distribution can't be computed successfully
-
toString
public java.lang.String toString()
Returns a description of the classifier.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation of the classifier
-
graphType
public int graphType()
Returns the type of graph this classifier represents.
-
graph
public java.lang.String graph() throws java.lang.Exception
Returns graph describing the tree.
-
toSummaryString
public java.lang.String toSummaryString()
Returns a superconcise version of the model- Specified by:
toSummaryString
in interfaceSummarizable
- Returns:
- a description of the model
-
measureTreeSize
public double measureTreeSize()
Returns the size of the tree- Returns:
- the size of the tree
-
measureNumLeaves
public double measureNumLeaves()
Returns the number of leaves- Returns:
- the number of leaves
-
measureNumRules
public double measureNumRules()
Returns the number of rules (same as number of leaves)- Returns:
- the number of rules
-
getMeasure
public double getMeasure(java.lang.String additionalMeasureName)
Returns the value of the named measure- Specified by:
getMeasure
in interfaceAdditionalMeasureProducer
- Parameters:
additionalMeasureName
- the name of the measure to query for its value- Returns:
- the value of the named measure
- Throws:
java.lang.IllegalArgumentException
- if the named measure is not supported
-
enumerateMeasures
public java.util.Enumeration enumerateMeasures()
Returns an enumeration of the additional measure names- Specified by:
enumerateMeasures
in interfaceAdditionalMeasureProducer
- Returns:
- an enumeration of the measure names
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classClassifier
- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class- Parameters:
argv
- the commandline options
-
-