public class RotationForest extends RandomizableIteratedSingleClassifierEnhancer implements WeightedInstancesHandler, 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(Instances data)
builds the classifier.
|
double[] |
distributionForInstance(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
|
String[] |
getOptions()
Gets the current settings of the Classifier.
|
Filter |
getProjectionFilter()
Gets the filter used to project the data.
|
int |
getRemovedPercentage()
Gets the percentage of instances to be removed
|
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.
|
String |
globalInfo()
Returns a string describing classifier
|
Enumeration |
listOptions()
Returns an enumeration describing the available options.
|
static void |
main(String[] argv)
Main method for testing this class.
|
String |
maxGroupTipText()
Returns the tip text for this property
|
String |
minGroupTipText()
Returns the tip text for this property
|
String |
numberOfGroupsTipText()
Returns the tip text for this property
|
String |
projectionFilterTipText()
Returns the tip text for this property
|
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(String[] options)
Parses a given list of options.
|
void |
setProjectionFilter(Filter projectionFilter)
Sets the filter used to project the data.
|
void |
setRemovedPercentage(int removedPercentage)
Sets the percentage of instance to be removed
|
String |
toString()
Returns description of the Rotation Forest classifier.
|
getSeed, seedTipText, setSeedgetNumIterations, numIterationsTipText, setNumIterationsclassifierTipText, getCapabilities, getClassifier, setClassifierclassifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebugpublic String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface TechnicalInformationHandlerpublic Enumeration listOptions()
listOptions in interface OptionHandlerlistOptions in class RandomizableIteratedSingleClassifierEnhancerpublic void setOptions(String[] options) throws 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 OptionHandlersetOptions in class RandomizableIteratedSingleClassifierEnhanceroptions - the list of options as an array of stringsException - if an option is not supportedpublic String[] getOptions()
getOptions in interface OptionHandlergetOptions in class RandomizableIteratedSingleClassifierEnhancerpublic String numberOfGroupsTipText()
public void setNumberOfGroups(boolean numberOfGroups)
numberOfGroups - whether minGroup and maxGroup refer to the number
of groups or their sizepublic boolean getNumberOfGroups()
public String minGroupTipText()
public void setMinGroup(int minGroup)
throws IllegalArgumentException
minGroup - the minimum value.
of attributes.IllegalArgumentExceptionpublic int getMinGroup()
public String maxGroupTipText()
public void setMaxGroup(int maxGroup)
throws IllegalArgumentException
maxGroup - the maximum value.
of attributes.IllegalArgumentExceptionpublic int getMaxGroup()
public String removedPercentageTipText()
public void setRemovedPercentage(int removedPercentage)
throws IllegalArgumentException
removedPercentage - the percentage.IllegalArgumentExceptionpublic int getRemovedPercentage()
public String projectionFilterTipText()
public void setProjectionFilter(Filter projectionFilter)
projectionFilter - the filter.public Filter getProjectionFilter()
public String toString()
public String getRevision()
getRevision in interface RevisionHandlergetRevision in class Classifierpublic void buildClassifier(Instances data) throws Exception
buildClassifier in class IteratedSingleClassifierEnhancerdata - the training data to be used for generating the
classifier.Exception - if the classifier could not be built successfullypublic double[] distributionForInstance(Instance instance) throws Exception
distributionForInstance in class Classifierinstance - the instance to be classifiedException - if distribution can't be computed successfullypublic static void main(String[] argv)
argv - the optionsCopyright © 2021 University of Waikato, Hamilton, NZ. All rights reserved.