public class Stacking extends RandomizableParallelMultipleClassifiersCombiner implements TechnicalInformationHandler
@article{Wolpert1992,
author = {David H. Wolpert},
journal = {Neural Networks},
pages = {241-259},
publisher = {Pergamon Press},
title = {Stacked generalization},
volume = {5},
year = {1992}
}
Valid options are:
-M <scheme specification> Full name of meta classifier, followed by options. (default: "weka.classifiers.rules.Zero")
-X <number of folds> Sets the number of cross-validation folds.
-S <num> Random number seed. (default 1)
-B <classifier specification> Full class name of classifier to include, followed by scheme options. May be specified multiple times. (default: "weka.classifiers.rules.ZeroR")
-D If set, classifier is run in debug mode and may output additional info to the console
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT| Constructor and Description |
|---|
Stacking() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
baseClassifiersImplementMoreEfficientBatchPrediction()
Returns true if any of the base classifiers are able to generate batch predictions
efficiently and all of them implement BatchPredictor.
|
void |
buildClassifier(Instances data)
Builds a classifier using stacking.
|
double[] |
distributionForInstance(Instance instance)
Returns estimated class probabilities for the given instance if the class is nominal and a
one-element array containing the numeric prediction if the class is numeric.
|
double[][] |
distributionsForInstances(Instances instances)
Returns class probabilities for all given instances if the class is nominal or corresponding predicted
numeric values if the class is numeric.
|
Capabilities |
getCapabilities()
Returns combined capabilities of the base classifiers, i.e., the
capabilities all of them have in common.
|
Classifier |
getMetaClassifier()
Gets the meta classifier.
|
int |
getNumFolds()
Gets the number of folds for the cross-validation.
|
java.lang.String[] |
getOptions()
Gets the current settings of the Classifier.
|
java.lang.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.
|
java.lang.String |
globalInfo()
Returns a string describing classifier
|
boolean |
implementsMoreEfficientBatchPrediction()
Returns true if the meta classifier or any of the base classifiers are able to generate batch predictions
efficiently and all of them implement BatchPredictor.
|
java.util.Enumeration<Option> |
listOptions()
Returns an enumeration describing the available options.
|
static void |
main(java.lang.String[] argv)
Main method for testing this class.
|
java.lang.String |
metaClassifierTipText()
Returns the tip text for this property
|
java.lang.String |
numFoldsTipText()
Returns the tip text for this property
|
void |
postExecution()
Perform any teardown stuff that might need to happen after execution.
|
void |
preExecution()
Perform any setup stuff that might need to happen before commandline
execution.
|
void |
setMetaClassifier(Classifier classifier)
Adds meta classifier
|
void |
setNumFolds(int numFolds)
Sets the number of folds for the cross-validation.
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
java.lang.String |
toString()
Output a representation of this classifier
|
getSeed, seedTipText, setSeedgetNumExecutionSlots, numExecutionSlotsTipText, setNumExecutionSlotsclassifiersTipText, getClassifier, getClassifiers, setClassifiersbatchSizeTipText, classifyInstance, debugTipText, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, makeCopies, makeCopy, numDecimalPlacesTipText, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlacesequals, getClass, hashCode, notify, notifyAll, wait, wait, waitmakeCopypublic java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface TechnicalInformationHandlerpublic java.util.Enumeration<Option> listOptions()
listOptions in interface OptionHandlerlistOptions in class RandomizableParallelMultipleClassifiersCombinerpublic void setOptions(java.lang.String[] options)
throws java.lang.Exception
Valid options are:
-M <scheme specification> Full name of meta classifier, followed by options. (default: "weka.classifiers.rules.Zero")
-X <number of folds> Sets the number of cross-validation folds.
-S <num> Random number seed. (default 1)
-B <classifier specification> Full class name of classifier to include, followed by scheme options. May be specified multiple times. (default: "weka.classifiers.rules.ZeroR")
-D If set, classifier is run in debug mode and may output additional info to the console
setOptions in interface OptionHandlersetOptions in class RandomizableParallelMultipleClassifiersCombineroptions - the list of options as an array of stringsjava.lang.Exception - if an option is not supportedpublic java.lang.String[] getOptions()
getOptions in interface OptionHandlergetOptions in class RandomizableParallelMultipleClassifiersCombinerpublic java.lang.String numFoldsTipText()
public int getNumFolds()
public void setNumFolds(int numFolds)
throws java.lang.Exception
numFolds - the number of folds for the cross-validationjava.lang.Exception - if parameter illegalpublic java.lang.String metaClassifierTipText()
public void setMetaClassifier(Classifier classifier)
classifier - the classifier with all options set.public Classifier getMetaClassifier()
public Capabilities getCapabilities()
getCapabilities in interface ClassifiergetCapabilities in interface CapabilitiesHandlergetCapabilities in class MultipleClassifiersCombinerCapabilitiespublic boolean implementsMoreEfficientBatchPrediction()
implementsMoreEfficientBatchPrediction in interface BatchPredictorimplementsMoreEfficientBatchPrediction in class AbstractClassifierpublic boolean baseClassifiersImplementMoreEfficientBatchPrediction()
public void buildClassifier(Instances data) throws java.lang.Exception
buildClassifier in interface ClassifierbuildClassifier in class ParallelMultipleClassifiersCombinerdata - the training data to be used for generating the stacked classifier.java.lang.Exception - if the classifier could not be built successfullypublic double[] distributionForInstance(Instance instance) throws java.lang.Exception
distributionForInstance in interface ClassifierdistributionForInstance in class AbstractClassifierinstance - the instance to be classifiedjava.lang.Exception - if instance could not be classified successfullypublic double[][] distributionsForInstances(Instances instances) throws java.lang.Exception
distributionsForInstances in interface BatchPredictordistributionsForInstances in class AbstractClassifierinstances - the instance sto be classifiedjava.lang.Exception - if instances could not be classified successfullypublic java.lang.String toString()
toString in class java.lang.Objectpublic void preExecution()
throws java.lang.Exception
AbstractClassifierpreExecution in interface CommandlineRunnablepreExecution in class MultipleClassifiersCombinerjava.lang.Exception - if a problem occurs during setuppublic void postExecution()
throws java.lang.Exception
AbstractClassifierpostExecution in interface CommandlineRunnablepostExecution in class MultipleClassifiersCombinerjava.lang.Exception - if a problem occurs during teardownpublic java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class AbstractClassifierpublic static void main(java.lang.String[] argv)
argv - should contain the following arguments:
-t training file [-T test file] [-c class index]