Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.classifiers.meta.nestedDichotomies
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
`ND()` Constructor.

Method Summary
`void` | `buildClassifier(Instances data)` Builds the classifier.
`void` | `buildClassifierForNode(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 instance
`Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
`java.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()`
`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`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ND

    public ND()

  Constructor.

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 interface `TechnicalInformationHandler`
  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 interface `CapabilitiesHandler`
  Overrides:
    `getCapabilities` in class `SingleClassifierEnhancer`
  Returns:
    the capabilities of this classifier
  See Also:
    `Capabilities`

### buildClassifier

    public void buildClassifier(Instances data)
                         throws java.lang.Exception

  Builds the classifier.

  Specified by:
    `buildClassifier` in class `Classifier`
  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.Exception

  Builds the classifier for one node.

  Parameters:
    `node` - the node to build the classifier for
    `data` - 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:
    `distributionForInstance` in class `Classifier`
  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:
    `toString` in class `java.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:
    `getRevision` in interface `RevisionHandler`
  Overrides:
    `getRevision` in class `Classifier`
  Returns:
    the revision

### main

    public static void main(java.lang.String[] argv)

  Main method for testing this class.

  Parameters:
    `argv` - the options

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD