All Implemented Interfaces:
Serializable, Cloneable, CapabilitiesHandler, OptionHandler, Randomizable, RevisionHandler, 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:
  • Constructor Details

    • ND

      public ND()
      Constructor.
  • Method Details

    • 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 interface TechnicalInformationHandler
      Returns:
      the technical information about this class
    • setHashtable

      public void setHashtable(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 interface CapabilitiesHandler
      Overrides:
      getCapabilities in class SingleClassifierEnhancer
      Returns:
      the capabilities of this classifier
      See Also:
    • buildClassifier

      public void buildClassifier(Instances data) throws Exception
      Builds the classifier.
      Specified by:
      buildClassifier in class Classifier
      Parameters:
      data - the data to train the classifier with
      Throws:
      Exception - if anything goes wrong
    • buildClassifierForNode

      public void buildClassifierForNode(weka.classifiers.meta.nestedDichotomies.ND.NDTree node, Instances data) throws Exception
      Builds the classifier for one node.
      Parameters:
      node - the node to build the classifier for
      data - the data to work with
      Throws:
      Exception - if anything goes wrong
    • distributionForInstance

      public double[] distributionForInstance(Instance inst) throws Exception
      Predicts the class distribution for a given instance
      Overrides:
      distributionForInstance in class Classifier
      Parameters:
      inst - the (multi-class) instance to be classified
      Returns:
      the class distribution
      Throws:
      Exception - if computing fails
    • toString

      public String toString()
      Outputs the classifier as a string.
      Overrides:
      toString in class Object
      Returns:
      a string representation of the classifier
    • globalInfo

      public String globalInfo()
      Returns:
      a description of the classifier suitable for displaying in the explorer/experimenter gui
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class Classifier
      Returns:
      the revision
    • main

      public static void main(String[] argv)
      Main method for testing this class.
      Parameters:
      argv - the options