public class AdaBoostM1 extends RandomizableIteratedSingleClassifierEnhancer implements WeightedInstancesHandler, Sourcable, TechnicalInformationHandler
@inproceedings{Freund1996, address = {San Francisco}, author = {Yoav Freund and Robert E. Schapire}, booktitle = {Thirteenth International Conference on Machine Learning}, pages = {148-156}, publisher = {Morgan Kaufmann}, title = {Experiments with a new boosting algorithm}, year = {1996} }Valid options are:
-P <num> Percentage of weight mass to base training on. (default 100, reduce to around 90 speed up)
-Q Use resampling for boosting.
-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.DecisionStump)
Options specific to classifier weka.classifiers.trees.DecisionStump:
-D If set, classifier is run in debug mode and may output additional info to the consoleOptions after -- are passed to the designated classifier.
Modifier and Type | Field and Description |
---|---|
protected double[] |
m_Betas
Array for storing the weights for the votes.
|
protected int |
m_NumClasses
The number of classes
|
protected int |
m_NumIterationsPerformed
The number of successfully generated base classifiers.
|
protected boolean |
m_UseResampling
Use boosting with reweighting?
|
protected int |
m_WeightThreshold
Weight Threshold.
|
protected Classifier |
m_ZeroR
a ZeroR model in case no model can be built from the data
|
m_Seed
m_Classifiers, m_NumIterations
m_Classifier
m_Debug
Constructor and Description |
---|
AdaBoostM1()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
buildClassifier(Instances data)
Boosting method.
|
protected void |
buildClassifierUsingResampling(Instances data)
Boosting method.
|
protected void |
buildClassifierWithWeights(Instances data)
Boosting method.
|
protected String |
defaultClassifierString()
String describing default classifier.
|
double[] |
distributionForInstance(Instance instance)
Calculates the class membership probabilities for the given test instance.
|
Capabilities |
getCapabilities()
Returns default capabilities of the classifier.
|
String[] |
getOptions()
Gets the current settings of the Classifier.
|
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.
|
boolean |
getUseResampling()
Get whether resampling is turned on
|
int |
getWeightThreshold()
Get the degree of weight thresholding
|
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.
|
protected Instances |
selectWeightQuantile(Instances data,
double quantile)
Select only instances with weights that contribute to
the specified quantile of the weight distribution
|
void |
setOptions(String[] options)
Parses a given list of options.
|
void |
setUseResampling(boolean r)
Set resampling mode
|
protected void |
setWeights(Instances training,
double reweight)
Sets the weights for the next iteration.
|
void |
setWeightThreshold(int threshold)
Set weight threshold
|
String |
toSource(String className)
Returns the boosted model as Java source code.
|
String |
toString()
Returns description of the boosted classifier.
|
String |
useResamplingTipText()
Returns the tip text for this property
|
String |
weightThresholdTipText()
Returns the tip text for this property
|
getSeed, seedTipText, setSeed
getNumIterations, numIterationsTipText, setNumIterations
classifierTipText, getClassifier, getClassifierSpec, setClassifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, runClassifier, setDebug
protected double[] m_Betas
protected int m_NumIterationsPerformed
protected int m_WeightThreshold
protected boolean m_UseResampling
protected int m_NumClasses
protected Classifier m_ZeroR
public String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface TechnicalInformationHandler
protected String defaultClassifierString()
defaultClassifierString
in class SingleClassifierEnhancer
protected Instances selectWeightQuantile(Instances data, double quantile)
data
- the input instancesquantile
- the specified quantile eg 0.9 to select
90% of the weight masspublic Enumeration listOptions()
listOptions
in interface OptionHandler
listOptions
in class RandomizableIteratedSingleClassifierEnhancer
public void setOptions(String[] options) throws Exception
-P <num> Percentage of weight mass to base training on. (default 100, reduce to around 90 speed up)
-Q Use resampling for boosting.
-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.DecisionStump)
Options specific to classifier weka.classifiers.trees.DecisionStump:
-D If set, classifier is run in debug mode and may output additional info to the consoleOptions after -- are passed to the designated classifier.
setOptions
in interface OptionHandler
setOptions
in class RandomizableIteratedSingleClassifierEnhancer
options
- the list of options as an array of stringsException
- if an option is not supportedpublic String[] getOptions()
getOptions
in interface OptionHandler
getOptions
in class RandomizableIteratedSingleClassifierEnhancer
public String weightThresholdTipText()
public void setWeightThreshold(int threshold)
threshold
- the percentage of weight mass used for trainingpublic int getWeightThreshold()
public String useResamplingTipText()
public void setUseResampling(boolean r)
r
- true if resampling should be donepublic boolean getUseResampling()
public Capabilities getCapabilities()
getCapabilities
in interface CapabilitiesHandler
getCapabilities
in class SingleClassifierEnhancer
Capabilities
public void buildClassifier(Instances data) throws Exception
buildClassifier
in class IteratedSingleClassifierEnhancer
data
- the training data to be used for generating the
boosted classifier.Exception
- if the classifier could not be built successfullyprotected void buildClassifierUsingResampling(Instances data) throws Exception
data
- the training data to be used for generating the
boosted classifier.Exception
- if the classifier could not be built successfullyprotected void setWeights(Instances training, double reweight) throws Exception
training
- the training instancesreweight
- the reweighting factorException
- if something goes wrongprotected void buildClassifierWithWeights(Instances data) throws Exception
data
- the training data to be used for generating the
boosted classifier.Exception
- if the classifier could not be built successfullypublic double[] distributionForInstance(Instance instance) throws Exception
distributionForInstance
in class Classifier
instance
- the instance to be classifiedException
- if instance could not be classified
successfullypublic String toSource(String className) throws Exception
public String toString()
public String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class Classifier
public static void main(String[] argv)
argv
- the optionsCopyright © 2015 University of Waikato, Hamilton, NZ. All rights reserved.