Class LinearRegression

java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.functions.LinearRegression
All Implemented Interfaces:
Serializable, Cloneable, Classifier, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler, WeightedInstancesHandler

public class LinearRegression extends AbstractClassifier implements OptionHandler, WeightedInstancesHandler
Class for using linear regression for prediction. Uses the Akaike criterion for model selection, and is able to deal with weighted instances.

Valid options are:

 -S <number of selection method>
  Set the attribute selection method to use. 1 = None, 2 = Greedy.
  (default 0 = M5' method)
 
 -C
  Do not try to eliminate colinear attributes.
 
 -R <double>
  Set ridge parameter (default 1.0e-8).
 
 -minimal
  Conserve memory, don't keep dataset header and means/stdevs.
  Model cannot be printed out if this option is enabled. (default: keep data)
 
 -additional-stats
  Output additional statistics.
 
 -output-debug-info
  If set, classifier is run in debug mode and
  may output additional info to the console
 
 -do-not-check-capabilities
  If set, classifier capabilities are not checked before classifier is built
  (use with caution).
 
 -do-not-check-capabilities
  If set, classifier capabilities are not checked before classifier is built
  (use with caution).
 
Version:
$Revision: 15519 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  • Field Details

    • SELECTION_M5

      public static final int SELECTION_M5
      Attribute selection method: M5 method
      See Also:
    • SELECTION_NONE

      public static final int SELECTION_NONE
      Attribute selection method: No attribute selection
      See Also:
    • SELECTION_GREEDY

      public static final int SELECTION_GREEDY
      Attribute selection method: Greedy method
      See Also:
    • TAGS_SELECTION

      public static final Tag[] TAGS_SELECTION
      Attribute selection methods
  • Constructor Details

    • LinearRegression

      public LinearRegression()
  • Method Details

    • main

      public static void main(String[] argv)
      Generates a linear regression function predictor.
      Parameters:
      argv - the options
    • globalInfo

      public String globalInfo()
      Returns a string describing this classifier
      Returns:
      a description of the classifier suitable for displaying in the explorer/experimenter gui
    • getCapabilities

      public Capabilities getCapabilities()
      Returns default capabilities of the classifier.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Specified by:
      getCapabilities in interface Classifier
      Overrides:
      getCapabilities in class AbstractClassifier
      Returns:
      the capabilities of this classifier
      See Also:
    • buildClassifier

      public void buildClassifier(Instances data) throws Exception
      Builds a regression model for the given data.
      Specified by:
      buildClassifier in interface Classifier
      Parameters:
      data - the training data to be used for generating the linear regression function
      Throws:
      Exception - if the classifier could not be built successfully
    • classifyInstance

      public double classifyInstance(Instance instance) throws Exception
      Classifies the given instance using the linear regression function.
      Specified by:
      classifyInstance in interface Classifier
      Overrides:
      classifyInstance in class AbstractClassifier
      Parameters:
      instance - the test instance
      Returns:
      the classification
      Throws:
      Exception - if classification can't be done successfully
    • toString

      public String toString()
      Outputs the linear regression model as a string.
      Overrides:
      toString in class Object
      Returns:
      the model as string
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class AbstractClassifier
      Returns:
      an enumeration of all the available options.
    • coefficients

      public double[] coefficients()
      Returns the coefficients for this linear model.
      Returns:
      the coefficients for this linear model
    • getOptions

      public String[] getOptions()
      Gets the current settings of the classifier.
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class AbstractClassifier
      Returns:
      an array of strings suitable for passing to setOptions
    • setOptions

      public void setOptions(String[] options) throws Exception
      Parses a given list of options.

      Valid options are:

       -S <number of selection method>
        Set the attribute selection method to use. 1 = None, 2 = Greedy.
        (default 0 = M5' method)
       
       -C
        Do not try to eliminate colinear attributes.
       
       -R <double>
        Set ridge parameter (default 1.0e-8).
       
       -minimal
        Conserve memory, don't keep dataset header and means/stdevs.
        Model cannot be printed out if this option is enabled. (default: keep data)
       
       -additional-stats
        Output additional statistics.
       
       -output-debug-info
        If set, classifier is run in debug mode and
        may output additional info to the console
       
       -do-not-check-capabilities
        If set, classifier capabilities are not checked before classifier is built
        (use with caution).
       
       -use-qr
        If set, QR decomposition will be used to find coefficients.
       
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class AbstractClassifier
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • ridgeTipText

      public String ridgeTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getRidge

      public double getRidge()
      Get the value of Ridge.
      Returns:
      Value of Ridge.
    • setRidge

      public void setRidge(double newRidge)
      Set the value of Ridge.
      Parameters:
      newRidge - Value to assign to Ridge.
    • eliminateColinearAttributesTipText

      public String eliminateColinearAttributesTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getEliminateColinearAttributes

      public boolean getEliminateColinearAttributes()
      Get the value of EliminateColinearAttributes.
      Returns:
      Value of EliminateColinearAttributes.
    • setEliminateColinearAttributes

      public void setEliminateColinearAttributes(boolean newEliminateColinearAttributes)
      Set the value of EliminateColinearAttributes.
      Parameters:
      newEliminateColinearAttributes - Value to assign to EliminateColinearAttributes.
    • numParameters

      public int numParameters()
      Get the number of coefficients used in the model
      Returns:
      the number of coefficients
    • attributeSelectionMethodTipText

      public String attributeSelectionMethodTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getAttributeSelectionMethod

      public SelectedTag getAttributeSelectionMethod()
      Gets the method used to select attributes for use in the linear regression.
      Returns:
      the method to use.
    • setAttributeSelectionMethod

      public void setAttributeSelectionMethod(SelectedTag method)
      Sets the method used to select attributes for use in the linear regression.
      Parameters:
      method - the attribute selection method to use.
    • minimalTipText

      public String minimalTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getMinimal

      public boolean getMinimal()
      Returns whether to be more memory conservative or being able to output the model as string.
      Returns:
      true if memory conservation is preferred over outputting model description
    • setMinimal

      public void setMinimal(boolean value)
      Sets whether to be more memory conservative or being able to output the model as string.
      Parameters:
      value - if true memory will be conserved
    • outputAdditionalStatsTipText

      public String outputAdditionalStatsTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getOutputAdditionalStats

      public boolean getOutputAdditionalStats()
      Get whether to output additional statistics (such as std. deviation of coefficients and t-statistics
      Returns:
      true if additional stats are to be output
    • setOutputAdditionalStats

      public void setOutputAdditionalStats(boolean additional)
      Set whether to output additional statistics (such as std. deviation of coefficients and t-statistics
      Parameters:
      additional - true if additional stats are to be output
    • useQRDecompositionTipText

      public String useQRDecompositionTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getUseQRDecomposition

      public boolean getUseQRDecomposition()
      Get whether to use QR decomposition.
      Returns:
      true if QR decomposition is to be used
    • setUseQRDecomposition

      public void setUseQRDecomposition(boolean useQR)
      Set whether to use QR decomposition.
      Parameters:
      useQR - true if QR decomposition is to be used
    • turnChecksOff

      public void turnChecksOff()
      Turns off checks for missing values, etc. Use with caution. Also turns off scaling.
    • turnChecksOn

      public void turnChecksOn()
      Turns on checks for missing values, etc. Also turns on scaling.
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class AbstractClassifier
      Returns:
      the revision