public class RotationForest
extends weka.classifiers.RandomizableParallelIteratedSingleClassifierEnhancer
implements weka.core.WeightedInstancesHandler, weka.core.TechnicalInformationHandler
@article{Rodriguez2006,
author = {Juan J. Rodriguez and Ludmila I. Kuncheva and Carlos J. Alonso},
journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
number = {10},
pages = {1619-1630},
title = {Rotation Forest: A new classifier ensemble method},
volume = {28},
year = {2006},
ISSN = {0162-8828},
URL = {http://doi.ieeecomputersociety.org/10.1109/TPAMI.2006.211}
}
Valid options are:
-N Whether minGroup (-G) and maxGroup (-H) refer to the number of groups or their size. (default: false)
-G <num> Minimum size of a group of attributes: if numberOfGroups is true, the minimum number of groups. (default: 3)
-H <num> Maximum size of a group of attributes: if numberOfGroups is true, the maximum number of groups. (default: 3)
-P <num> Percentage of instances to be removed. (default: 50)
-F <filter specification> Full class name of filter to use, followed by filter options. eg: "weka.filters.unsupervised.attribute.PrincipalComponents-R 1.0"
-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.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).
| Constructor and Description |
|---|
RotationForest()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
buildClassifier(weka.core.Instances data)
builds the classifier.
|
double[] |
distributionForInstance(weka.core.Instance instance)
Calculates the class membership probabilities for the given test
instance.
|
int |
getMaxGroup()
Gets the maximum size of a group.
|
int |
getMinGroup()
Gets the minimum size of a group.
|
boolean |
getNumberOfGroups()
Get whether minGroup and maxGroup refer to the number of groups or their
size
|
java.lang.String[] |
getOptions()
Gets the current settings of the Classifier.
|
weka.filters.Filter |
getProjectionFilter()
Gets the filter used to project the data.
|
int |
getRemovedPercentage()
Gets the percentage of instances to be removed
|
java.lang.String |
getRevision()
Returns the revision string.
|
weka.core.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
|
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options.
|
static void |
main(java.lang.String[] argv)
Main method for testing this class.
|
java.lang.String |
maxGroupTipText()
Returns the tip text for this property
|
java.lang.String |
minGroupTipText()
Returns the tip text for this property
|
java.lang.String |
numberOfGroupsTipText()
Returns the tip text for this property
|
java.lang.String |
projectionFilterTipText()
Returns the tip text for this property
|
java.lang.String |
removedPercentageTipText()
Returns the tip text for this property
|
void |
setMaxGroup(int maxGroup)
Sets the maximum size of a group.
|
void |
setMinGroup(int minGroup)
Sets the minimum size of a group.
|
void |
setNumberOfGroups(boolean numberOfGroups)
Set whether minGroup and maxGroup refer to the number of groups or their
size
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
void |
setProjectionFilter(weka.filters.Filter projectionFilter)
Sets the filter used to project the data.
|
void |
setRemovedPercentage(int removedPercentage)
Sets the percentage of instance to be removed
|
java.lang.String |
toString()
Returns description of the Rotation Forest classifier.
|
getSeed, seedTipText, setSeedgetNumExecutionSlots, numExecutionSlotsTipText, setNumExecutionSlotsgetNumIterations, numIterationsTipText, setNumIterationsclassifierTipText, getCapabilities, getClassifier, postExecution, preExecution, setClassifierbatchSizeTipText, classifyInstance, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlacespublic java.lang.String globalInfo()
public weka.core.TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface weka.core.TechnicalInformationHandlerpublic java.util.Enumeration listOptions()
listOptions in interface weka.core.OptionHandlerlistOptions in class weka.classifiers.RandomizableParallelIteratedSingleClassifierEnhancerpublic void setOptions(java.lang.String[] options)
throws java.lang.Exception
-N Whether minGroup (-G) and maxGroup (-H) refer to the number of groups or their size. (default: false)
-G <num> Minimum size of a group of attributes: if numberOfGroups is true, the minimum number of groups. (default: 3)
-H <num> Maximum size of a group of attributes: if numberOfGroups is true, the maximum number of groups. (default: 3)
-P <num> Percentage of instances to be removed. (default: 50)
-F <filter specification> Full class name of filter to use, followed by filter options. eg: "weka.filters.unsupervised.attribute.PrincipalComponents-R 1.0"
-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.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).
setOptions in interface weka.core.OptionHandlersetOptions in class weka.classifiers.RandomizableParallelIteratedSingleClassifierEnhanceroptions - the list of options as an array of stringsjava.lang.Exception - if an option is not supportedpublic java.lang.String[] getOptions()
getOptions in interface weka.core.OptionHandlergetOptions in class weka.classifiers.RandomizableParallelIteratedSingleClassifierEnhancerpublic java.lang.String numberOfGroupsTipText()
public void setNumberOfGroups(boolean numberOfGroups)
numberOfGroups - whether minGroup and maxGroup refer to the number
of groups or their sizepublic boolean getNumberOfGroups()
public java.lang.String minGroupTipText()
public void setMinGroup(int minGroup)
throws java.lang.IllegalArgumentException
minGroup - the minimum value.
of attributes.java.lang.IllegalArgumentExceptionpublic int getMinGroup()
public java.lang.String maxGroupTipText()
public void setMaxGroup(int maxGroup)
throws java.lang.IllegalArgumentException
maxGroup - the maximum value.
of attributes.java.lang.IllegalArgumentExceptionpublic int getMaxGroup()
public java.lang.String removedPercentageTipText()
public void setRemovedPercentage(int removedPercentage)
throws java.lang.IllegalArgumentException
removedPercentage - the percentage.java.lang.IllegalArgumentExceptionpublic int getRemovedPercentage()
public java.lang.String projectionFilterTipText()
public void setProjectionFilter(weka.filters.Filter projectionFilter)
projectionFilter - the filter.public weka.filters.Filter getProjectionFilter()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getRevision()
getRevision in interface weka.core.RevisionHandlergetRevision in class weka.classifiers.AbstractClassifierpublic void buildClassifier(weka.core.Instances data)
throws java.lang.Exception
buildClassifier in interface weka.classifiers.ClassifierbuildClassifier in class weka.classifiers.ParallelIteratedSingleClassifierEnhancerdata - the training data to be used for generating the
classifier.java.lang.Exception - if the classifier could not be built successfullypublic double[] distributionForInstance(weka.core.Instance instance)
throws java.lang.Exception
distributionForInstance in interface weka.classifiers.ClassifierdistributionForInstance in class weka.classifiers.AbstractClassifierinstance - the instance to be classifiedjava.lang.Exception - if distribution can't be computed successfullypublic static void main(java.lang.String[] argv)
argv - the options