Package weka.classifiers.functions
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: 15520 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAttribute selection method: Greedy methodstatic final intAttribute selection method: M5 methodstatic final intAttribute selection method: No attribute selectionstatic final Tag[]Attribute selection methodsFields inherited from class weka.classifiers.AbstractClassifier
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the tip text for this propertyvoidbuildClassifier(Instances data) Builds a regression model for the given data.doubleclassifyInstance(Instance instance) Classifies the given instance using the linear regression function.double[]Returns the coefficients for this linear model.Returns the tip text for this propertyGets the method used to select attributes for use in the linear regression.Returns default capabilities of the classifier.booleanGet the value of EliminateColinearAttributes.booleanReturns whether to be more memory conservative or being able to output the model as string.String[]Gets the current settings of the classifier.booleanGet whether to output additional statistics (such as std.Returns the revision string.doublegetRidge()Get the value of Ridge.booleanGet whether to use QR decomposition.Returns a string describing this classifierReturns an enumeration describing the available options.static voidGenerates a linear regression function predictor.Returns the tip text for this property.intGet the number of coefficients used in the modelReturns the tip text for this property.Returns the tip text for this propertyvoidSets the method used to select attributes for use in the linear regression.voidsetEliminateColinearAttributes(boolean newEliminateColinearAttributes) Set the value of EliminateColinearAttributes.voidsetMinimal(boolean value) Sets whether to be more memory conservative or being able to output the model as string.voidsetOptions(String[] options) Parses a given list of options.voidsetOutputAdditionalStats(boolean additional) Set whether to output additional statistics (such as std.voidsetRidge(double newRidge) Set the value of Ridge.voidsetUseQRDecomposition(boolean useQR) Set whether to use QR decomposition.toString()Outputs the linear regression model as a string.voidTurns off checks for missing values, etc.voidTurns on checks for missing values, etc.Returns the tip text for this property.Methods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
Field Details
-
SELECTION_M5
public static final int SELECTION_M5Attribute selection method: M5 method- See Also:
-
SELECTION_NONE
public static final int SELECTION_NONEAttribute selection method: No attribute selection- See Also:
-
SELECTION_GREEDY
public static final int SELECTION_GREEDYAttribute selection method: Greedy method- See Also:
-
TAGS_SELECTION
Attribute selection methods
-
-
Constructor Details
-
LinearRegression
public LinearRegression()
-
-
Method Details
-
main
Generates a linear regression function predictor.- Parameters:
argv- the options
-
globalInfo
Returns a string describing this classifier- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Specified by:
getCapabilitiesin interfaceClassifier- Overrides:
getCapabilitiesin classAbstractClassifier- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Builds a regression model for the given data.- Specified by:
buildClassifierin interfaceClassifier- 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
Classifies the given instance using the linear regression function.- Specified by:
classifyInstancein interfaceClassifier- Overrides:
classifyInstancein classAbstractClassifier- Parameters:
instance- the test instance- Returns:
- the classification
- Throws:
Exception- if classification can't be done successfully
-
toString
Outputs the linear regression model as a string. -
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classAbstractClassifier- 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
Gets the current settings of the classifier.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classAbstractClassifier- Returns:
- an array of strings suitable for passing to setOptions
-
setOptions
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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classAbstractClassifier- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
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
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
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getAttributeSelectionMethod
Gets the method used to select attributes for use in the linear regression.- Returns:
- the method to use.
-
setAttributeSelectionMethod
Sets the method used to select attributes for use in the linear regression.- Parameters:
method- the attribute selection method to use.
-
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
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
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
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classAbstractClassifier- Returns:
- the revision
-