Package weka.classifiers.meta

# Class END

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.SingleClassifierEnhancer
weka.classifiers.IteratedSingleClassifierEnhancer
weka.classifiers.RandomizableIteratedSingleClassifierEnhancer
weka.classifiers.meta.END

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `CapabilitiesHandler`, `OptionHandler`, `Randomizable`, `RevisionHandler`, `TechnicalInformationHandler`

public class END extends RandomizableIteratedSingleClassifierEnhancer implements TechnicalInformationHandler
A meta classifier for handling multi-class datasets with 2-class classifiers by building an ensemble of nested dichotomies.
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)

     -I <num>
      Number of iterations.
      (default 10)

     -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.meta.nestedDichotomies.ND)

     Options specific to classifier weka.classifiers.meta.nestedDichotomies.ND:

     -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).

Options after -- are passed to the designated classifier.

Version:
  $Revision: 1.8 $
Author:
  Eibe Frank, Lin Dong
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`END()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`buildClassifier(Instances data)`
Builds the committee of randomizable classifiers.
`double[]`
`distributionForInstance(Instance instance)`
Calculates the class membership probabilities for the given test instance.
`Capabilities`
`getCapabilities()`
Returns default capabilities of the classifier.
`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.
`String`
`globalInfo()`
Returns a string describing classifier
`static void`
`main(String[] argv)`
Main method for testing this class.
`String`
`toString()`
Returns description of the committee.

### Methods inherited from class weka.classifiers.RandomizableIteratedSingleClassifierEnhancer

`getOptions, getSeed, listOptions, seedTipText, setOptions, setSeed`

### Methods inherited from class weka.classifiers.IteratedSingleClassifierEnhancer

`getNumIterations, numIterationsTipText, setNumIterations`

### 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 Details

### END

public END()
Constructor.

## Method Details

### globalInfo

public 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:
  `getTechnicalInformation` in interface `TechnicalInformationHandler`
Returns:
  the technical information about this class

### 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 Exception
Builds the committee of randomizable classifiers.

Overrides:
  `buildClassifier` in class `IteratedSingleClassifierEnhancer`
Parameters:
  `data` - the training data to be used for generating the bagged classifier.
Throws:
  `Exception` - if the classifier could not be built successfully

### distributionForInstance

public double[] distributionForInstance(Instance instance) throws Exception
Calculates the class membership probabilities for the given test instance.

Overrides:
  `distributionForInstance` in class `Classifier`
Parameters:
  `instance` - the instance to be classified
Returns:
  preedicted class probability distribution
Throws:
  `Exception` - if distribution can't be computed successfully

### toString

public String toString()
Returns description of the committee.

Overrides:
  `toString` in class `Object`
Returns:
  description of the committee as a string

### 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