weka.classifiers.trees.lmt
Class LogisticBase

java.lang.Object
  |
  +--weka.classifiers.Classifier
        |
        +--weka.classifiers.trees.lmt.LogisticBase
All Implemented Interfaces:
java.lang.Cloneable, OptionHandler, java.io.Serializable, WeightedInstancesHandler
Direct Known Subclasses:
LMTNode

public class LogisticBase
extends Classifier
implements WeightedInstancesHandler

Base/helper class for building logistic regression models with the LogitBoost algorithm. Used for building logistic model trees (weka.classifiers.trees.lmt.LMT) and standalone logistic regression (weka.classifiers.functions.SimpleLogistic).

Version:
$Revision: 1.2 $
Author:
Niels Landwehr
See Also:
Serialized Form

Constructor Summary
LogisticBase()
          Constructor that creates LogisticBase object with standard options.
LogisticBase(int numBoostingIterations, boolean useCrossValidation, boolean errorOnProbabilities)
          Constructor to create LogisticBase object.
 
Method Summary
 void buildClassifier(Instances data)
          Builds the logistic regression model usiing LogitBoost.
 void cleanup()
          Cleanup in order to save memory.
 double[] distributionForInstance(Instance instance)
          Returns class probabilities for an instance.
 int getMaxIterations()
          Returns the maxIterations parameter.
 int getNumRegressions()
          The number of LogitBoost iterations performed (= the number of simple regression functions fit).
 int[][] getUsedAttributes()
          Returns an array of the indices of the attributes used in the logistic model.
 double percentAttributesUsed()
          Returns the fraction of all attributes in the data that are used in the logistic model (in percent).
 void setHeuristicStop(int heuristicStop)
          Sets the option "heuristicStop".
 void setMaxIterations(int maxIterations)
          Sets the parameter "maxIterations".
 java.lang.String toString()
          Returns a description of the logistic model (i.e., attributes and coefficients).
 
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, getOptions, listOptions, makeCopies, setDebug, setOptions
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LogisticBase

public LogisticBase()
Constructor that creates LogisticBase object with standard options.


LogisticBase

public LogisticBase(int numBoostingIterations,
                    boolean useCrossValidation,
                    boolean errorOnProbabilities)
Constructor to create LogisticBase object.

Parameters:
numBoostingIterations - fixed number of iterations for LogitBoost (if negative, use cross-validation or stopping criterion on the training data).
useCrossValidation - cross-validate number of LogitBoost iterations (if false, use stopping criterion on the training data).
errorOnProbabilities - if true, use error on probabilities instead of misclassification for stopping criterion of LogitBoost
Method Detail

buildClassifier

public void buildClassifier(Instances data)
                     throws java.lang.Exception
Builds the logistic regression model usiing LogitBoost.

Specified by:
buildClassifier in class Classifier
Parameters:
data - the training data
Throws:
java.lang.Exception - if the classifier has not been generated successfully

getUsedAttributes

public int[][] getUsedAttributes()
Returns an array of the indices of the attributes used in the logistic model. The first dimension is the class, the second dimension holds a list of attribute indices. Attribute indices start at zero.

Returns:
the array of attribute indices

getNumRegressions

public int getNumRegressions()
The number of LogitBoost iterations performed (= the number of simple regression functions fit).


setMaxIterations

public void setMaxIterations(int maxIterations)
Sets the parameter "maxIterations".


setHeuristicStop

public void setHeuristicStop(int heuristicStop)
Sets the option "heuristicStop".


getMaxIterations

public int getMaxIterations()
Returns the maxIterations parameter.


percentAttributesUsed

public double percentAttributesUsed()
Returns the fraction of all attributes in the data that are used in the logistic model (in percent). An attribute is used in the model if it is used in any of the models for the different classes.


toString

public java.lang.String toString()
Returns a description of the logistic model (i.e., attributes and coefficients).

Overrides:
toString in class java.lang.Object

distributionForInstance

public double[] distributionForInstance(Instance instance)
                                 throws java.lang.Exception
Returns class probabilities for an instance.

Overrides:
distributionForInstance in class Classifier
Parameters:
instance - the instance to be classified
Returns:
an array containing the estimated membership probabilities of the test instance in each class or the numeric prediction
Throws:
java.lang.Exception - if distribution can't be computed successfully

cleanup

public void cleanup()
Cleanup in order to save memory.



Copyright (c) 2003 David Lindsay, Computer Learning Research Centre, Dept. Computer Science, Royal Holloway, University of London