Class ClassBalancedND
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.SingleClassifierEnhancer
-
- weka.classifiers.RandomizableSingleClassifierEnhancer
-
- weka.classifiers.meta.nestedDichotomies.ClassBalancedND
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,CapabilitiesHandler
,OptionHandler
,Randomizable
,RevisionHandler
,TechnicalInformationHandler
public class ClassBalancedND extends RandomizableSingleClassifierEnhancer implements TechnicalInformationHandler
A meta classifier for handling multi-class datasets with 2-class classifiers by building a random class-balanced 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:
- Lin Dong, Eibe Frank
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ClassBalancedND()
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildClassifier(Instances data)
Builds tree recursively.double[]
distributionForInstance(Instance inst)
Predicts the class distribution for a given instanceCapabilities
getCapabilities()
Returns default capabilities of the classifier.java.lang.String
getRevision()
Returns the revision string.java.lang.String
getString(int[] indices)
Returns the list of indices as a 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()
static void
main(java.lang.String[] argv)
Main method for testing this class.void
setHashtable(java.util.Hashtable table)
Set hashtable from END.java.lang.String
toString()
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:
getTechnicalInformation
in 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:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classSingleClassifierEnhancer
- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances data) throws java.lang.Exception
Builds tree recursively.- Specified by:
buildClassifier
in classClassifier
- Parameters:
data
- contains the (multi-class) instances- Throws:
java.lang.Exception
- if the building fails
-
distributionForInstance
public double[] distributionForInstance(Instance inst) throws java.lang.Exception
Predicts the class distribution for a given instance- Overrides:
distributionForInstance
in classClassifier
- Parameters:
inst
- the (multi-class) instance to be classified- Returns:
- the class distribution
- Throws:
java.lang.Exception
- if computing fails
-
getString
public java.lang.String getString(int[] indices)
Returns the list of indices as a string.- Parameters:
indices
- the indices to return as string- Returns:
- the indices as string
-
globalInfo
public java.lang.String globalInfo()
- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
toString
public java.lang.String toString()
Outputs the classifier as a string.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation of the classifier
-
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 options
-
-