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.
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.
|
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.
|
java.lang.String[] |
getOptions()
Gets the current settings of the Classifier.
|
java.lang.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
|
java.lang.String |
globalInfo()
Returns a string describing classifier
|
java.lang.String |
likelihoodThresholdTipText()
Returns the tip text for this property
|
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 |
numFoldsTipText()
Returns the tip text for this property
|
java.lang.String |
numRunsTipText()
Returns the tip text for this property
|
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(java.lang.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
|
java.lang.String |
shrinkageTipText()
Returns the tip text for this property
|
java.lang.String |
toSource(java.lang.String className)
Returns the boosted model as Java source code.
|
java.lang.String |
toString()
Returns description of the boosted classifier.
|
java.lang.String |
useResamplingTipText()
Returns the tip text for this property
|
java.lang.String |
weightThresholdTipText()
Returns the tip text for this property
|
getSeed, seedTipText, setSeed
getNumIterations, numIterationsTipText, setNumIterations
classifierTipText, getClassifier, setClassifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
public java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface TechnicalInformationHandler
public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
listOptions
in class RandomizableIteratedSingleClassifierEnhancer
public void setOptions(java.lang.String[] options) throws java.lang.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 OptionHandler
setOptions
in class RandomizableIteratedSingleClassifierEnhancer
options
- the list of options as an array of stringsjava.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
getOptions
in class RandomizableIteratedSingleClassifierEnhancer
public java.lang.String shrinkageTipText()
public double getShrinkage()
public void setShrinkage(double newShrinkage)
newShrinkage
- Value to assign to Shrinkage.public java.lang.String likelihoodThresholdTipText()
public double getLikelihoodThreshold()
public void setLikelihoodThreshold(double newPrecision)
newPrecision
- Value to assign to Precision.public java.lang.String numRunsTipText()
public int getNumRuns()
public void setNumRuns(int newNumRuns)
newNumRuns
- Value to assign to NumRuns.public java.lang.String numFoldsTipText()
public int getNumFolds()
public void setNumFolds(int newNumFolds)
newNumFolds
- Value to assign to NumFolds.public java.lang.String useResamplingTipText()
public void setUseResampling(boolean r)
r
- true if resampling should be donepublic boolean getUseResampling()
public java.lang.String weightThresholdTipText()
public void setWeightThreshold(int threshold)
threshold
- the percentage of weight mass used for trainingpublic int getWeightThreshold()
public Capabilities getCapabilities()
getCapabilities
in interface CapabilitiesHandler
getCapabilities
in class SingleClassifierEnhancer
Capabilities
public void buildClassifier(Instances data) throws java.lang.Exception
buildClassifier
in class IteratedSingleClassifierEnhancer
data
- the data to train the classifier withjava.lang.Exception
- if building fails, e.g., can't handle datapublic Classifier[][] classifiers()
public double[] distributionForInstance(Instance instance) throws java.lang.Exception
distributionForInstance
in class Classifier
instance
- the instance to be classifiedjava.lang.Exception
- if instance could not be classified
successfullypublic java.lang.String toSource(java.lang.String className) throws java.lang.Exception
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class Classifier
public static void main(java.lang.String[] argv)
argv
- the options