|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.classifiers.Classifier
weka.classifiers.DistributionClassifier
weka.classifiers.meta.LogitBoost
Class for boosting any classifier that can handle weighted instances. This class performs classification using a regression scheme as the base learner, and can handle multi-class problems. For more information, see
Friedman, J., T. Hastie and R. Tibshirani (1998) Additive Logistic Regression: a Statistical View of Boosting download postscript.
Valid options are:
-D
Turn on debugging output.
-W classname
Specify the full class name of a weak learner as the basis for
boosting (required).
-I num
Set the number of boost iterations (default 10).
-Q
Use resampling instead of reweighting.
-S seed
Random number seed for resampling (default 1).
-P num
Set the percentage of weight mass used to build classifiers
(default 100).
-F num
Set number of folds for the internal cross-validation
(default 0 -- no cross-validation).
-R num
Set number of runs for the internal cross-validation
(default 1).
-L num
Set the threshold for the improvement of the
average loglikelihood (default -Double.MAX_VALUE).
-H num
Set the value of the shrinkage parameter (default 1).
Options after -- are passed to the designated learner.
Field Summary | |
protected Attribute |
m_ClassAttribute
The actual class attribute (for getting class names) |
protected Classifier |
m_Classifier
An instantiated base classifier used for getting and testing options |
protected Classifier[][] |
m_Classifiers
Array for storing the generated base classifiers. |
protected boolean |
m_Debug
Debugging mode, gives extra output if true |
protected int |
m_MaxIterations
The maximum number of boost iterations |
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_NumIterations
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 java.util.Random |
m_RandomInstance
The random number generator used |
protected int |
m_Seed
Seed for boosting with resampling. |
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 static double |
Z_MAX
A threshold for responses (Friedman suggests between 2 and 4) |
Constructor Summary | |
LogitBoost()
|
Method Summary | |
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. |
Classifier |
getClassifier()
Get the classifier used as the classifier |
boolean |
getDebug()
Get whether debugging is turned on |
double |
getLikelihoodThreshold()
Get the value of Precision. |
int |
getMaxIterations()
Get the maximum number of boost iterations |
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. |
int |
getSeed()
Get seed for resampling. |
double |
getShrinkage()
Get the value of Shrinkage. |
boolean |
getUseResampling()
Get whether resampling is turned on |
int |
getWeightThreshold()
Get the degree of weight thresholding |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options. |
static void |
main(java.lang.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 |
setClassifier(Classifier newClassifier)
Set the classifier for boosting. |
void |
setDebug(boolean debug)
Set debugging mode |
void |
setLikelihoodThreshold(double newPrecision)
Set the value of Precision. |
void |
setMaxIterations(int maxIterations)
Set the maximum number of boost iterations |
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 |
setSeed(int seed)
Set seed for resampling. |
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 |
toSource(java.lang.String className)
Returns the boosted model as Java source code. |
java.lang.String |
toString()
Returns description of the boosted classifier. |
Methods inherited from class weka.classifiers.DistributionClassifier |
calculateEntropy, calculateLabeledInstanceMargin, calculateMargin, classifyInstance |
Methods inherited from class weka.classifiers.Classifier |
forName, makeCopies |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected Classifier[][] m_Classifiers
protected Classifier m_Classifier
protected int m_MaxIterations
protected int m_NumClasses
protected int m_NumIterations
protected int m_NumFolds
protected int m_NumRuns
protected int m_WeightThreshold
protected boolean m_Debug
protected static final double Z_MAX
protected Instances m_NumericClassData
protected Attribute m_ClassAttribute
protected boolean m_UseResampling
protected int m_Seed
protected double m_Precision
protected double m_Shrinkage
protected java.util.Random m_RandomInstance
protected double m_Offset
Constructor Detail |
public LogitBoost()
Method Detail |
protected Instances selectWeightQuantile(Instances data, double quantile)
data
- the input instancesquantile
- the specified quantile eg 0.9 to select
90% of the weight mass
public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-D
Turn on debugging output.
-W classname
Specify the full class name of a weak learner as the basis for
boosting (required).
-I num
Set the number of boost iterations (default 10).
-Q
Use resampling instead of reweighting.
-S seed
Random number seed for resampling (default 1).
-P num
Set the percentage of weight mass used to build classifiers
(default 100).
-F num
Set number of folds for the internal cross-validation
(default 0 -- no cross-validation).
-R num
Set number of runs for the internal cross-validation
(default 1.
-L num
Set the threshold for the improvement of the
average loglikelihood (default -Double.MAX_VALUE).
-H num
Set the value of the shrinkage parameter (default 1).
Options after -- are passed to the designated learner.
setOptions
in interface OptionHandler
options
- the list of options as an array of strings
java.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
public double getShrinkage()
public void setShrinkage(double newShrinkage)
newShrinkage
- Value to assign to Shrinkage.public double getLikelihoodThreshold()
public void setLikelihoodThreshold(double newPrecision)
newPrecision
- Value to assign to Precision.public int getNumRuns()
public void setNumRuns(int newNumRuns)
newNumRuns
- Value to assign to NumRuns.public int getNumFolds()
public void setNumFolds(int newNumFolds)
newNumFolds
- Value to assign to NumFolds.public void setUseResampling(boolean r)
public boolean getUseResampling()
public void setSeed(int seed)
seed
- the seed for resamplingpublic int getSeed()
public void setClassifier(Classifier newClassifier)
newClassifier
- the Classifier to use.public Classifier getClassifier()
public void setMaxIterations(int maxIterations)
maxIterations
- the maximum number of boost iterationspublic int getMaxIterations()
public void setWeightThreshold(int threshold)
public int getWeightThreshold()
public void setDebug(boolean debug)
debug
- true if debug output should be printedpublic boolean getDebug()
public void buildClassifier(Instances data) throws java.lang.Exception
buildClassifier
in class Classifier
data
- set of instances serving as training data
java.lang.Exception
- if the classifier has not been
generated successfullypublic Classifier[][] classifiers()
public double[] distributionForInstance(Instance instance) throws java.lang.Exception
distributionForInstance
in class DistributionClassifier
instance
- the instance to be classified
java.lang.Exception
- if instance could not be classified
successfullypublic java.lang.String toSource(java.lang.String className) throws java.lang.Exception
toSource
in interface Sourcable
className
- the name that should be given to the source class.
java.lang.Exception
- if something goes wrongpublic java.lang.String toString()
public static void main(java.lang.String[] argv)
argv
- the options
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |