Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.classifiers.meta
Class LogitBoost

    java.lang.Object
      weka.classifiers.Classifier
          weka.classifiers.SingleClassifierEnhancer
              weka.classifiers.IteratedSingleClassifierEnhancer
                  weka.classifiers.RandomizableIteratedSingleClassifierEnhancer
                      weka.classifiers.meta.LogitBoost

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Sourcable, CapabilitiesHandler, OptionHandler, Randomizable, RevisionHandler, TechnicalInformationHandler, WeightedInstancesHandler

    public class LogitBoost

extends RandomizableIteratedSingleClassifierEnhancer
implements Sourcable, WeightedInstancesHandler, TechnicalInformationHandler

Class for performing additive logistic regression.
This class performs classification using a regression scheme as the base learner, and can handle multi-class problems. For more information, see
J. Friedman, T. Hastie, R. Tibshirani (1998). Additive Logistic Regression: a Statistical View of Boosting. Stanford University.
Can do efficient internal cross-validation to determine appropriate number of iterations.

BibTeX:

     @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 console

Options after -- are passed to the designated learner.

Version:
  $Revision: 9371 $
Author:
  Len Trigg (trigg@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  Serialized Form

Constructor Summary
`LogitBoost()` Constructor.

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.
`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

Methods inherited from class weka.classifiers.RandomizableIteratedSingleClassifierEnhancer
`getSeed, seedTipText, setSeed`

Methods inherited from class weka.classifiers.IteratedSingleClassifierEnhancer
`getNumIterations, numIterationsTipText, setNumIterations`

Methods inherited from class weka.classifiers.SingleClassifierEnhancer
`classifierTipText, getClassifier, setClassifier`

Methods inherited from class weka.classifiers.Classifier
`classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### LogitBoost

    public LogitBoost()

  Constructor.

Method Detail

### globalInfo

    public java.lang.String globalInfo()

  Returns a string describing classifier

  Returns:
    a description suitable for displaying in the explorer/experimenter gui

### getTechnicalInformation

    public 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.

  Specified by:
    `getTechnicalInformation` in interface `TechnicalInformationHandler`
  Returns:
    the technical information about this class

### listOptions

    public java.util.Enumeration listOptions()

  Returns an enumeration describing the available options.

  Specified by:
    `listOptions` in interface `OptionHandler`
  Overrides:
    `listOptions` in class `RandomizableIteratedSingleClassifierEnhancer`
  Returns:
    an enumeration of all the available options.

### setOptions

    public void setOptions(java.lang.String[] options)
                    throws java.lang.Exception

  Parses a given list of options.

  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 console

  Options after -- are passed to the designated learner.

  Specified by:
    `setOptions` in interface `OptionHandler`
  Overrides:
    `setOptions` in class `RandomizableIteratedSingleClassifierEnhancer`
  Parameters:
    `options` - the list of options as an array of strings
  Throws:
    `java.lang.Exception` - if an option is not supported

### getOptions

    public java.lang.String[] getOptions()

  Gets the current settings of the Classifier.

  Specified by:
    `getOptions` in interface `OptionHandler`
  Overrides:
    `getOptions` in class `RandomizableIteratedSingleClassifierEnhancer`
  Returns:
    an array of strings suitable for passing to setOptions

### shrinkageTipText

    public java.lang.String shrinkageTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### getShrinkage

    public double getShrinkage()

  Get the value of Shrinkage.

  Returns:
    Value of Shrinkage.

### setShrinkage

    public void setShrinkage(double newShrinkage)

  Set the value of Shrinkage.

  Parameters:
    `newShrinkage` - Value to assign to Shrinkage.

### likelihoodThresholdTipText

    public java.lang.String likelihoodThresholdTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### getLikelihoodThreshold

    public double getLikelihoodThreshold()

  Get the value of Precision.

  Returns:
    Value of Precision.

### setLikelihoodThreshold

    public void setLikelihoodThreshold(double newPrecision)

  Set the value of Precision.

  Parameters:
    `newPrecision` - Value to assign to Precision.

### numRunsTipText

    public java.lang.String numRunsTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### getNumRuns

    public int getNumRuns()

  Get the value of NumRuns.

  Returns:
    Value of NumRuns.

### setNumRuns

    public void setNumRuns(int newNumRuns)

  Set the value of NumRuns.

  Parameters:
    `newNumRuns` - Value to assign to NumRuns.

### numFoldsTipText

    public java.lang.String numFoldsTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### getNumFolds

    public int getNumFolds()

  Get the value of NumFolds.

  Returns:
    Value of NumFolds.

### setNumFolds

    public void setNumFolds(int newNumFolds)

  Set the value of NumFolds.

  Parameters:
    `newNumFolds` - Value to assign to NumFolds.

### useResamplingTipText

    public java.lang.String useResamplingTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setUseResampling

    public void setUseResampling(boolean r)

  Set resampling mode

  Parameters:
    `r` - true if resampling should be done

### getUseResampling

    public boolean getUseResampling()

  Get whether resampling is turned on

  Returns:
    true if resampling output is on

### weightThresholdTipText

    public java.lang.String weightThresholdTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setWeightThreshold

    public void setWeightThreshold(int threshold)

  Set weight thresholding

  Parameters:
    `threshold` - the percentage of weight mass used for training

### getWeightThreshold

    public int getWeightThreshold()

  Get the degree of weight thresholding

  Returns:
    the percentage of weight mass used for training

### getCapabilities

    public Capabilities getCapabilities()

  Returns default capabilities of the classifier.

  Specified by:
    `getCapabilities` in interface `CapabilitiesHandler`
  Overrides:
    `getCapabilities` in class `SingleClassifierEnhancer`
  Returns:
    the capabilities of this classifier
  See Also:
    `Capabilities`

### buildClassifier

    public void buildClassifier(Instances data)
                         throws java.lang.Exception

  Builds the boosted classifier

  Overrides:
    `buildClassifier` in class `IteratedSingleClassifierEnhancer`
  Parameters:
    `data` - the data to train the classifier with
  Throws:
    `java.lang.Exception` - if building fails, e.g., can't handle data

### classifiers

    public Classifier[][] classifiers()

  Returns the array of classifiers that have been built.

  Returns:
    the built classifiers

### distributionForInstance

    public double[] distributionForInstance(Instance instance)
                                     throws java.lang.Exception

  Calculates the class membership probabilities for the given test instance.

  Overrides:
    `distributionForInstance` in class `Classifier`
  Parameters:
    `instance` - the instance to be classified
  Returns:
    predicted class probability distribution
  Throws:
    `java.lang.Exception` - if instance could not be classified successfully

### toSource

    public java.lang.String toSource(java.lang.String className)
                              throws java.lang.Exception

  Returns the boosted model as Java source code.

  Specified by:
    `toSource` in interface `Sourcable`
  Parameters:
    `className` - the classname in the generated code
  Returns:
    the tree as Java source code
  Throws:
    `java.lang.Exception` - if something goes wrong

### toString

    public java.lang.String toString()

  Returns description of the boosted classifier.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    description of the boosted classifier as a string

### getRevision

    public java.lang.String getRevision()

  Returns the revision string.

  Specified by:
    `getRevision` in interface `RevisionHandler`
  Overrides:
    `getRevision` in class `Classifier`
  Returns:
    the revision

### main

    public static void main(java.lang.String[] argv)

  Main method for testing this class.

  Parameters:
    `argv` - the options

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD