Class END

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.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 Detail

      • END

        public END()
        Constructor.
    • Method Detail

      • globalInfo

        public java.lang.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
      • buildClassifier

        public void buildClassifier​(Instances data)
                             throws java.lang.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:
        java.lang.Exception - if the classifier could not be built successfully
      • distributionForInstance

        public double[] distributionForInstance​(Instance instance)
                                         throws java.lang.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:
        java.lang.Exception - if distribution can't be computed successfully
      • toString

        public java.lang.String toString()
        Returns description of the committee.
        Overrides:
        toString in class java.lang.Object
        Returns:
        description of the committee as a string
      • main

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