Class ND
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.SingleClassifierEnhancer
-
- weka.classifiers.RandomizableSingleClassifierEnhancer
-
- weka.classifiers.meta.nestedDichotomies.ND
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,CapabilitiesHandler,OptionHandler,Randomizable,RevisionHandler,TechnicalInformationHandler
public class ND extends RandomizableSingleClassifierEnhancer implements TechnicalInformationHandler
A meta classifier for handling multi-class datasets with 2-class classifiers by building a random tree structure.
For more info, check
Lin Dong, Eibe Frank, Stefan Kramer: Ensembles of Balanced Nested Dichotomies for Multi-class Problems. In: PKDD, 84-95, 2005.
Eibe Frank, Stefan Kramer: Ensembles of nested dichotomies for multi-class problems. In: Twenty-first International Conference on Machine Learning, 2004. BibTeX:@inproceedings{Dong2005, author = {Lin Dong and Eibe Frank and Stefan Kramer}, booktitle = {PKDD}, pages = {84-95}, publisher = {Springer}, title = {Ensembles of Balanced Nested Dichotomies for Multi-class Problems}, year = {2005} } @inproceedings{Frank2004, author = {Eibe Frank and Stefan Kramer}, booktitle = {Twenty-first International Conference on Machine Learning}, publisher = {ACM}, title = {Ensembles of nested dichotomies for multi-class problems}, year = {2004} }Valid options are:-S <num> Random number seed. (default 1)
-D If set, classifier is run in debug mode and may output additional info to the console
-W Full name of base classifier. (default: weka.classifiers.trees.J48)
Options specific to classifier weka.classifiers.trees.J48:
-U Use unpruned tree.
-C <pruning confidence> Set confidence threshold for pruning. (default 0.25)
-M <minimum number of instances> Set minimum number of instances per leaf. (default 2)
-R Use reduced error pruning.
-N <number of folds> Set number of folds for reduced error pruning. One fold is used as pruning set. (default 3)
-B Use binary splits only.
-S Don't perform subtree raising.
-L Do not clean up after the tree has been built.
-A Laplace smoothing for predicted probabilities.
-Q <seed> Seed for random data shuffling (default 1).
- Author:
- Eibe Frank, Lin Dong
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ND()Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances data)Builds the classifier.voidbuildClassifierForNode(weka.classifiers.meta.nestedDichotomies.ND.NDTree node, Instances data)Builds the classifier for one node.double[]distributionForInstance(Instance inst)Predicts the class distribution for a given instanceCapabilitiesgetCapabilities()Returns default capabilities of the classifier.java.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()static voidmain(java.lang.String[] argv)Main method for testing this class.voidsetHashtable(java.util.Hashtable table)Set hashtable from END.java.lang.StringtoString()Outputs the classifier as a string.-
Methods inherited from class weka.classifiers.RandomizableSingleClassifierEnhancer
getOptions, getSeed, listOptions, seedTipText, setOptions, setSeed
-
Methods inherited from class weka.classifiers.SingleClassifierEnhancer
classifierTipText, getClassifier, setClassifier
-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
Method Detail
-
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
-
setHashtable
public void setHashtable(java.util.Hashtable table)
Set hashtable from END.- Parameters:
table- the hashtable to use
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classSingleClassifierEnhancer- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances data) throws java.lang.Exception
Builds the classifier.- Specified by:
buildClassifierin classClassifier- Parameters:
data- the data to train the classifier with- Throws:
java.lang.Exception- if anything goes wrong
-
buildClassifierForNode
public void buildClassifierForNode(weka.classifiers.meta.nestedDichotomies.ND.NDTree node, Instances data) throws java.lang.ExceptionBuilds the classifier for one node.- Parameters:
node- the node to build the classifier fordata- the data to work with- Throws:
java.lang.Exception- if anything goes wrong
-
distributionForInstance
public double[] distributionForInstance(Instance inst) throws java.lang.Exception
Predicts the class distribution for a given instance- Overrides:
distributionForInstancein classClassifier- Parameters:
inst- the (multi-class) instance to be classified- Returns:
- the class distribution
- Throws:
java.lang.Exception- if computing fails
-
toString
public java.lang.String toString()
Outputs the classifier as a string.- Overrides:
toStringin classjava.lang.Object- Returns:
- a string representation of the classifier
-
globalInfo
public java.lang.String globalInfo()
- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
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 options
-
-