Class RandomCommittee

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, CapabilitiesHandler, OptionHandler, Randomizable, RevisionHandler, WeightedInstancesHandler

    public class RandomCommittee
    extends RandomizableIteratedSingleClassifierEnhancer
    implements WeightedInstancesHandler
    Class for building an ensemble of randomizable base classifiers. Each base classifiers is built using a different random number seed (but based one the same data). The final prediction is a straight average of the predictions generated by the individual base classifiers.

    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.trees.RandomTree)
     
     Options specific to classifier weka.classifiers.trees.RandomTree:
     
     -K <number of attributes>
      Number of attributes to randomly investigate
      (<1 = int(log(#attributes)+1)).
     -M <minimum number of instances>
      Set minimum number of instances per leaf.
     -S <num>
      Seed for random number generator.
      (default 1)
     -depth <num>
      The maximum depth of the tree, 0 for unlimited.
      (default 0)
     -D
      If set, classifier is run in debug mode and
      may output additional info to the console
    Options after -- are passed to the designated classifier.

    Version:
    $Revision: 1.13 $
    Author:
    Eibe Frank (eibe@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • RandomCommittee

        public RandomCommittee()
        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
      • 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