public class LogitBoost extends RandomizableIteratedSingleClassifierEnhancer implements Sourcable, WeightedInstancesHandler, TechnicalInformationHandler
@techreport{Friedman1998,
address = {Stanford University},
author = {J. Friedman and T. Hastie and R. Tibshirani},
title = {Additive Logistic Regression: a Statistical View of Boosting},
year = {1998},
PS = {http://www-stat.stanford.edu/\~jhf/ftp/boost.ps}
}
Valid options are:
-Q Use resampling instead of reweighting for boosting.
-P <percent> Percentage of weight mass to base training on. (default 100, reduce to around 90 speed up)
-F <num> Number of folds for internal cross-validation. (default 0 -- no cross-validation)
-R <num> Number of runs for internal cross-validation. (default 1)
-L <num> Threshold on the improvement of the likelihood. (default -Double.MAX_VALUE)
-H <num> Shrinkage parameter. (default 1)
-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 learner.
| Modifier and Type | Field and Description |
|---|---|
protected Attribute |
m_ClassAttribute
The actual class attribute (for getting class names)
|
protected Classifier[][] |
m_Classifiers
Array for storing the generated base classifiers.
|
protected int |
m_NumClasses
The number of classes
|
protected Instances |
m_NumericClassData
Dummy dataset with a numeric class
|
protected int |
m_NumFolds
The number of folds for the internal cross-validation.
|
protected int |
m_NumGenerated
The number of successfully generated base classifiers.
|
protected int |
m_NumRuns
The number of runs for the internal cross-validation.
|
protected double |
m_Offset
The value by which the actual target value for the
true class is offset.
|
protected double |
m_Precision
The threshold on the improvement of the likelihood
|
protected Random |
m_RandomInstance
The random number generator used
|
protected double |
m_Shrinkage
The value of the shrinkage parameter
|
protected boolean |
m_UseResampling
Use boosting with reweighting?
|
protected int |
m_WeightThreshold
Weight thresholding.
|
protected Classifier |
m_ZeroR
a ZeroR model in case no model can be built from the data
|
protected static double |
Z_MAX
A threshold for responses (Friedman suggests between 2 and 4)
|
m_Seedm_NumIterationsm_Classifierm_Debug| Constructor and Description |
|---|
LogitBoost()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
buildClassifier(Instances data)
Builds the boosted classifier
|
Classifier[][] |
classifiers()
Returns the array of classifiers that have been built.
|
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.
|
double |
getLikelihoodThreshold()
Get the value of Precision.
|
int |
getNumFolds()
Get the value of NumFolds.
|
int |
getNumRuns()
Get the value of NumRuns.
|
String[] |
getOptions()
Gets the current settings of the Classifier.
|
String |
getRevision()
Returns the revision string.
|
double |
getShrinkage()
Get the value of Shrinkage.
|
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
|
String |
likelihoodThresholdTipText()
Returns the tip text for this property
|
Enumeration |
listOptions()
Returns an enumeration describing the available options.
|
static void |
main(String[] argv)
Main method for testing this class.
|
String |
numFoldsTipText()
Returns the tip text for this property
|
String |
numRunsTipText()
Returns the tip text for this property
|
protected Instances |
selectWeightQuantile(Instances data,
double quantile)
Select only instances with weights that contribute to
the specified quantile of the weight distribution
|
void |
setLikelihoodThreshold(double newPrecision)
Set the value of Precision.
|
void |
setNumFolds(int newNumFolds)
Set the value of NumFolds.
|
void |
setNumRuns(int newNumRuns)
Set the value of NumRuns.
|
void |
setOptions(String[] options)
Parses a given list of options.
|
void |
setShrinkage(double newShrinkage)
Set the value of Shrinkage.
|
void |
setUseResampling(boolean r)
Set resampling mode
|
void |
setWeightThreshold(int threshold)
Set weight thresholding
|
String |
shrinkageTipText()
Returns the tip text for this property
|
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, setSeedgetNumIterations, numIterationsTipText, setNumIterationsclassifierTipText, getClassifier, getClassifierSpec, setClassifierclassifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, runClassifier, setDebugprotected Classifier[][] m_Classifiers
protected int m_NumClasses
protected int m_NumGenerated
protected int m_NumFolds
protected int m_NumRuns
protected int m_WeightThreshold
protected static final double Z_MAX
protected Instances m_NumericClassData
protected Attribute m_ClassAttribute
protected boolean m_UseResampling
protected double m_Precision
protected double m_Shrinkage
protected Random m_RandomInstance
protected double m_Offset
protected Classifier m_ZeroR
public String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface TechnicalInformationHandlerprotected String defaultClassifierString()
defaultClassifierString in class SingleClassifierEnhancerprotected 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 OptionHandlerlistOptions in class RandomizableIteratedSingleClassifierEnhancerpublic void setOptions(String[] options) throws Exception
-Q Use resampling instead of reweighting for boosting.
-P <percent> Percentage of weight mass to base training on. (default 100, reduce to around 90 speed up)
-F <num> Number of folds for internal cross-validation. (default 0 -- no cross-validation)
-R <num> Number of runs for internal cross-validation. (default 1)
-L <num> Threshold on the improvement of the likelihood. (default -Double.MAX_VALUE)
-H <num> Shrinkage parameter. (default 1)
-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 learner.
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 shrinkageTipText()
public double getShrinkage()
public void setShrinkage(double newShrinkage)
newShrinkage - Value to assign to Shrinkage.public String likelihoodThresholdTipText()
public double getLikelihoodThreshold()
public void setLikelihoodThreshold(double newPrecision)
newPrecision - Value to assign to Precision.public String numRunsTipText()
public int getNumRuns()
public void setNumRuns(int newNumRuns)
newNumRuns - Value to assign to NumRuns.public String numFoldsTipText()
public int getNumFolds()
public void setNumFolds(int newNumFolds)
newNumFolds - Value to assign to NumFolds.public String useResamplingTipText()
public void setUseResampling(boolean r)
r - true if resampling should be donepublic boolean getUseResampling()
public String weightThresholdTipText()
public void setWeightThreshold(int threshold)
threshold - the percentage of weight mass used for trainingpublic int getWeightThreshold()
public Capabilities getCapabilities()
getCapabilities in interface CapabilitiesHandlergetCapabilities in class SingleClassifierEnhancerCapabilitiespublic void buildClassifier(Instances data) throws Exception
buildClassifier in class IteratedSingleClassifierEnhancerdata - the data to train the classifier withException - if building fails, e.g., can't handle datapublic Classifier[][] classifiers()
public double[] distributionForInstance(Instance instance) throws Exception
distributionForInstance in class Classifierinstance - 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 RevisionHandlergetRevision in class Classifierpublic static void main(String[] argv)
argv - the optionsCopyright © 2015 University of Waikato, Hamilton, NZ. All rights reserved.