weka.classifiers
Class DistributionMetaClassifier

java.lang.Object
  |
  +--weka.classifiers.Classifier
        |
        +--weka.classifiers.DistributionClassifier
              |
              +--weka.classifiers.DistributionMetaClassifier
All Implemented Interfaces:
java.lang.Cloneable, OptionHandler, java.io.Serializable

public class DistributionMetaClassifier
extends DistributionClassifier
implements OptionHandler

Class that wraps up a Classifier and presents it as a DistributionClassifier for ease of programmatically handling Classifiers in general -- only the one predict method (distributionForInstance) need be worried about. The distributions produced by this classifier place a probability of 1 on the class value predicted by the sub-classifier.

Valid options are:

-W classname
Specify the full class name of a sub-classifier (required).

Author:
Len Trigg (len@intelligenesis.net)
See Also:
Serialized Form

Constructor Summary
DistributionMetaClassifier()
          Default constructor
DistributionMetaClassifier(Classifier subClassifier)
          Creates a new DistributionMetaClassifier instance, specifying the Classifier to wrap around.
 
Method Summary
 void buildClassifier(Instances insts)
          Builds the classifier.
 double[] distributionForInstance(Instance inst)
          Returns the distribution for an instance.
 Classifier getClassifier()
          Get the classifier used as the classifier
 java.lang.String[] getOptions()
          Gets the current settings of the Classifier.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options
static void main(java.lang.String[] argv)
          Main method for testing this class.
 void setClassifier(Classifier newClassifier)
          Set the base classifier.
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 java.lang.String toString()
          Prints the classifiers.
 
Methods inherited from class weka.classifiers.DistributionClassifier
classifyInstance
 
Methods inherited from class weka.classifiers.Classifier
forName, makeCopies
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DistributionMetaClassifier

public DistributionMetaClassifier()
Default constructor

DistributionMetaClassifier

public DistributionMetaClassifier(Classifier subClassifier)
Creates a new DistributionMetaClassifier instance, specifying the Classifier to wrap around.
Parameters:
subClassifier - a Classifier.
Method Detail

buildClassifier

public void buildClassifier(Instances insts)
                     throws java.lang.Exception
Builds the classifier.
Overrides:
buildClassifier in class Classifier
Parameters:
insts - the training data.
Throws:
java.lang.Exception - if a classifier can't be built

distributionForInstance

public double[] distributionForInstance(Instance inst)
                                 throws java.lang.Exception
Returns the distribution for an instance.
Overrides:
distributionForInstance in class DistributionClassifier
Throws:
java.lang.Exception - if the distribution can't be computed successfully

toString

public java.lang.String toString()
Prints the classifiers.
Overrides:
toString in class java.lang.Object

listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options
Specified by:
listOptions in interface OptionHandler
Returns:
an enumeration of all the available options

setOptions

public void setOptions(java.lang.String[] options)
                throws java.lang.Exception
Parses a given list of options. Valid options are:

-W classname
Specify the full class name of a learner as the basis for the multiclassclassifier (required).

Specified by:
setOptions in interface OptionHandler
Parameters:
options - the list of options as an array of strings
Throws:
java.lang.Exception - if an option is not supported

getOptions

public java.lang.String[] getOptions()
Gets the current settings of the Classifier.
Specified by:
getOptions in interface OptionHandler
Returns:
an array of strings suitable for passing to setOptions

setClassifier

public void setClassifier(Classifier newClassifier)
Set the base classifier.
Parameters:
newClassifier - the Classifier to use.

getClassifier

public Classifier getClassifier()
Get the classifier used as the classifier
Returns:
the classifier used as the classifier

main

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