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 voidbuildClassifier(Instances instances)Generates the classifier.doubleclassifyInstance(Instance instance)Classifies an instance.double[]distributionForInstance(Instance instance)Returns class probabilities for an instance.java.util.EnumerationenumerateMeasures()Returns an enumeration of the additional measure namesCapabilitiesgetCapabilities()Returns default capabilities of the classifier.doublegetMeasure(java.lang.String additionalMeasureName)Returns the value of the named measurejava.lang.StringgetRevision()Returns the revision string.TechnicalInformationgetTechnicalInformation()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.StringglobalInfo()Returns a string describing classifierjava.lang.Stringgraph()Returns graph describing the tree.intgraphType()Returns the type of graph this classifier represents.static voidmain(java.lang.String[] argv)Main method for testing this classdoublemeasureNumLeaves()Returns the number of leavesdoublemeasureNumRules()Returns the number of rules (same as number of leaves)doublemeasureTreeSize()Returns the size of the treejava.lang.StringtoString()Returns a description of the classifier.java.lang.StringtoSummaryString()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:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin 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:
buildClassifierin 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:
classifyInstancein 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:
distributionForInstancein 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:
toStringin 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.ExceptionReturns graph describing the tree.
-
toSummaryString
public java.lang.String toSummaryString()
Returns a superconcise version of the model- Specified by:
toSummaryStringin 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:
getMeasurein 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:
enumerateMeasuresin interfaceAdditionalMeasureProducer- Returns:
- an enumeration of the measure names
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classClassifier- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class- Parameters:
argv- the commandline options
-
-