weka.classifiers.meta
Class StackingC

java.lang.Object
  extended byweka.classifiers.Classifier
      extended byweka.classifiers.MultipleClassifiersCombiner
          extended byweka.classifiers.RandomizableMultipleClassifiersCombiner
              extended byweka.classifiers.meta.Stacking
                  extended byweka.classifiers.meta.StackingC
All Implemented Interfaces:
java.lang.Cloneable, OptionHandler, Randomizable, java.io.Serializable

public class StackingC
extends Stacking
implements OptionHandler

Implements StackingC (more efficient version of stacking). For more information, see

Seewald A.K.: How to Make Stacking Better and Faster While Also Taking Care of an Unknown Weakness, in Sammut C., Hoffmann A. (eds.), Proceedings of the Nineteenth International Conference on Machine Learning (ICML 2002), Morgan Kaufmann Publishers, pp.554-561, 2002.

Valid options are:

-X num_folds
The number of folds for the cross-validation (default 10).

-S seed
Random number seed (default 1).

-B classifierstring
Classifierstring should contain the full class name of a base scheme followed by options to the classifier. (required, option should be used once for each classifier).

-M classifierstring
Classifierstring for the meta classifier. Same format as for base classifiers. Has to be a numeric prediction scheme, defaults to Linear Regression as in the original paper.

Version:
$Revision: 1.8 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz), Alexander K. Seewald (alex@seewald.at)
See Also:
Serialized Form

Field Summary
protected  Remove m_attrFilter
          Filters to transform metaData
protected  MakeIndicator m_makeIndicatorFilter
           
protected  Classifier[] m_MetaClassifiers
          The meta classifiers (one for each class, like in ClassificationViaRegression)
 
Fields inherited from class weka.classifiers.meta.Stacking
m_BaseFormat, m_MetaClassifier, m_MetaFormat, m_NumFolds
 
Fields inherited from class weka.classifiers.RandomizableMultipleClassifiersCombiner
m_Seed
 
Fields inherited from class weka.classifiers.MultipleClassifiersCombiner
m_Classifiers
 
Fields inherited from class weka.classifiers.Classifier
m_Debug
 
Constructor Summary
StackingC()
          The constructor.
 
Method Summary
 double[] distributionForInstance(Instance instance)
          Classifies a given instance using the stacked classifier.
protected  void generateMetaLevel(Instances newData, java.util.Random random)
          Method that builds meta level.
 java.lang.String globalInfo()
          Returns a string describing classifier
static void main(java.lang.String[] argv)
          Main method for testing this class.
protected  java.lang.String metaOption()
          String describing option for setting meta classifier
protected  void processMetaOptions(java.lang.String[] options)
          Process options setting meta classifier.
 java.lang.String toString()
          Output a representation of this classifier
 
Methods inherited from class weka.classifiers.meta.Stacking
buildClassifier, getMetaClassifier, getNumFolds, getOptions, listOptions, metaClassifierTipText, metaFormat, metaInstance, numFoldsTipText, setMetaClassifier, setNumFolds, setOptions
 
Methods inherited from class weka.classifiers.RandomizableMultipleClassifiersCombiner
getSeed, seedTipText, setSeed
 
Methods inherited from class weka.classifiers.MultipleClassifiersCombiner
classifiersTipText, getClassifier, getClassifiers, getClassifierSpec, setClassifiers
 
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, setDebug
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface weka.core.OptionHandler
getOptions, listOptions, setOptions
 

Field Detail

m_MetaClassifiers

protected Classifier[] m_MetaClassifiers
The meta classifiers (one for each class, like in ClassificationViaRegression)


m_attrFilter

protected Remove m_attrFilter
Filters to transform metaData


m_makeIndicatorFilter

protected MakeIndicator m_makeIndicatorFilter
Constructor Detail

StackingC

public StackingC()
The constructor.

Method Detail

globalInfo

public java.lang.String globalInfo()
Returns a string describing classifier

Overrides:
globalInfo in class Stacking
Returns:
a description suitable for displaying in the explorer/experimenter gui

metaOption

protected java.lang.String metaOption()
String describing option for setting meta classifier

Overrides:
metaOption in class Stacking

processMetaOptions

protected void processMetaOptions(java.lang.String[] options)
                           throws java.lang.Exception
Process options setting meta classifier.

Overrides:
processMetaOptions in class Stacking
Throws:
java.lang.Exception

generateMetaLevel

protected void generateMetaLevel(Instances newData,
                                 java.util.Random random)
                          throws java.lang.Exception
Method that builds meta level.

Overrides:
generateMetaLevel in class Stacking
Throws:
java.lang.Exception

distributionForInstance

public double[] distributionForInstance(Instance instance)
                                 throws java.lang.Exception
Classifies a given instance using the stacked classifier.

Overrides:
distributionForInstance in class Stacking
Parameters:
instance - the instance to be classified
Throws:
java.lang.Exception - if instance could not be classified successfully

toString

public java.lang.String toString()
Output a representation of this classifier

Overrides:
toString in class Stacking

main

public static void main(java.lang.String[] argv)
Main method for testing this class.

Parameters:
argv - should contain the following arguments: -t training file [-T test file] [-c class index]