Class LogisticBase

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, CapabilitiesHandler, OptionHandler, RevisionHandler, WeightedInstancesHandler
    Direct Known Subclasses:
    FTtree, 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). Valid options are:

     -D
      If set, classifier is run in debug mode and
      may output additional info to the console
    Version:
    $Revision: 1.9 $
    Author:
    Niels Landwehr, Marc Sumner
    See Also:
    Serialized Form
    • 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 something goes wrong
      • 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).
        Returns:
        the number of LogitBoost iterations performed
      • getWeightTrimBeta

        public double getWeightTrimBeta()
        Get the value of weightTrimBeta.
        Returns:
        Value of weightTrimBeta.
      • getUseAIC

        public boolean getUseAIC()
        Get the value of useAIC.
        Returns:
        Value of useAIC.
      • setMaxIterations

        public void setMaxIterations​(int maxIterations)
        Sets the parameter "maxIterations".
        Parameters:
        maxIterations - the maximum iterations
      • setHeuristicStop

        public void setHeuristicStop​(int heuristicStop)
        Sets the option "heuristicStop".
        Parameters:
        heuristicStop - the heuristic stop to use
      • setWeightTrimBeta

        public void setWeightTrimBeta​(double w)
        Sets the option "weightTrimBeta".
      • setUseAIC

        public void setUseAIC​(boolean c)
        Set the value of useAIC.
        Parameters:
        c - Value to assign to useAIC.
      • getMaxIterations

        public int getMaxIterations()
        Returns the maxIterations parameter.
        Returns:
        the maximum iteration
      • 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.
        Returns:
        the fraction of all attributes that are used
      • 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
        Returns:
        the description of the model
      • 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 compute the distribution for
        Returns:
        the class probabilities
        Throws:
        java.lang.Exception - if distribution can't be computed successfully
      • cleanup

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