Package weka.classifiers.functions
Class SMOreg
java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.functions.SMOreg
- All Implemented Interfaces:
Serializable
,Cloneable
,Classifier
,AdditionalMeasureProducer
,BatchPredictor
,CapabilitiesHandler
,CapabilitiesIgnorer
,CommandlineRunnable
,OptionHandler
,RevisionHandler
,TechnicalInformationHandler
,WeightedInstancesHandler
public class SMOreg
extends AbstractClassifier
implements WeightedInstancesHandler, AdditionalMeasureProducer, TechnicalInformationHandler
SMOreg implements the support vector machine for regression. The parameters can be learned using various algorithms. The algorithm is selected by setting the RegOptimizer. The most popular algorithm (RegSMOImproved) is due to Shevade, Keerthi et al and this is the default RegOptimizer.
For more information see:
S.K. Shevade, S.S. Keerthi, C. Bhattacharyya, K.R.K. Murthy: Improvements to the SMO Algorithm for SVM Regression. In: IEEE Transactions on Neural Networks, 1999.
A.J. Smola, B. Schoelkopf (1998). A tutorial on support vector regression. BibTeX:
For more information see:
S.K. Shevade, S.S. Keerthi, C. Bhattacharyya, K.R.K. Murthy: Improvements to the SMO Algorithm for SVM Regression. In: IEEE Transactions on Neural Networks, 1999.
A.J. Smola, B. Schoelkopf (1998). A tutorial on support vector regression. BibTeX:
@inproceedings{Shevade1999, author = {S.K. Shevade and S.S. Keerthi and C. Bhattacharyya and K.R.K. Murthy}, booktitle = {IEEE Transactions on Neural Networks}, title = {Improvements to the SMO Algorithm for SVM Regression}, year = {1999}, PS = {http://guppy.mpe.nus.edu.sg/\~mpessk/svm/ieee_smo_reg.ps.gz} } @techreport{Smola1998, author = {A.J. Smola and B. Schoelkopf}, note = {NeuroCOLT2 Technical Report NC2-TR-1998-030}, title = {A tutorial on support vector regression}, year = {1998} }Valid options are:
-C <double> The complexity constant C. (default 1)
-N Whether to 0=normalize/1=standardize/2=neither. (default 0=normalize)
-I <classname and parameters> Optimizer class used for solving quadratic optimization problem (default weka.classifiers.functions.supportVector.RegSMOImproved)
-K <classname and parameters> The Kernel to use. (default: weka.classifiers.functions.supportVector.PolyKernel)
Options specific to optimizer ('-I') weka.classifiers.functions.supportVector.RegSMOImproved:
-T <double> The tolerance parameter for checking the stopping criterion. (default 0.001)
-V Use variant 1 of the algorithm when true, otherwise use variant 2. (default true)
-P <double> The epsilon for round-off error. (default 1.0e-12)
-L <double> The epsilon parameter in epsilon-insensitive loss function. (default 1.0e-3)
-W <double> The random number seed. (default 1)
Options specific to kernel ('-K') weka.classifiers.functions.supportVector.PolyKernel:
-D Enables debugging output (if available) to be printed. (default: off)
-no-checks Turns off all checks - use with caution! (default: checks on)
-C <num> The size of the cache (a prime number), 0 for full cache and -1 to turn it off. (default: 250007)
-E <num> The Exponent to use. (default: 1.0)
-L Use lower-order terms. (default: no)
- Version:
- $Revision: 15519 $
- Author:
- Remco Bouckaert (remco@cs.waikato.ac.nz,rrb@xm.co.nz)
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The filter to apply to the training data: Nonestatic final int
The filter to apply to the training data: Normalziestatic final int
The filter to apply to the training data: Standardizestatic final Tag[]
The filter to apply to the training dataFields inherited from class weka.classifiers.AbstractClassifier
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
buildClassifier
(Instances instances) Method for building the classifier.double
classifyInstance
(Instance instance) Classifies the given instance using the linear regression function.cTipText()
Returns the tip text for this propertyReturns an enumeration of the measure names.Returns the tip text for this propertydouble
getC()
Get the value of C.Returns default capabilities of the classifier.Gets how the training data will be transformed.Returns the kernel to usedouble
getMeasure
(String measureName) Returns the value of the named measureString[]
Gets the current settings of the classifier.returns the learning algorithmReturns the revision string.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.Returns a string describing classifierReturns the tip text for this propertyReturns an enumeration describing the available options.static void
Main method for running this classifier.Returns the tip text for this propertyvoid
setC
(double v) Set the value of C.void
setFilterType
(SelectedTag newType) Sets how the training data will be transformed.void
sets the kernel to usevoid
setOptions
(String[] options) Parses a given list of options.void
setRegOptimizer
(RegOptimizer regOptimizer) sets the learning algorithmtoString()
Prints out the classifier.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
-
FILTER_NORMALIZE
public static final int FILTER_NORMALIZEThe filter to apply to the training data: Normalzie- See Also:
-
FILTER_STANDARDIZE
public static final int FILTER_STANDARDIZEThe filter to apply to the training data: Standardize- See Also:
-
FILTER_NONE
public static final int FILTER_NONEThe filter to apply to the training data: None- See Also:
-
TAGS_FILTER
The filter to apply to the training data
-
-
Constructor Details
-
SMOreg
public SMOreg()
-
-
Method Details
-
globalInfo
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
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 interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classAbstractClassifier
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-C <double> The complexity constant C. (default 1)
-N Whether to 0=normalize/1=standardize/2=neither. (default 0=normalize)
-I <classname and parameters> Optimizer class used for solving quadratic optimization problem (default weka.classifiers.functions.supportVector.RegSMOImproved)
-K <classname and parameters> The Kernel to use. (default: weka.classifiers.functions.supportVector.PolyKernel)
Options specific to optimizer ('-I') weka.classifiers.functions.supportVector.RegSMOImproved:
-T <double> The tolerance parameter for checking the stopping criterion. (default 0.001)
-V Use variant 1 of the algorithm when true, otherwise use variant 2. (default true)
-P <double> The epsilon for round-off error. (default 1.0e-12)
-L <double> The epsilon parameter in epsilon-insensitive loss function. (default 1.0e-3)
-W <double> The random number seed. (default 1)
Options specific to kernel ('-K') weka.classifiers.functions.supportVector.PolyKernel:
-D Enables debugging output (if available) to be printed. (default: off)
-no-checks Turns off all checks - use with caution! (default: checks on)
-C <num> The size of the cache (a prime number), 0 for full cache and -1 to turn it off. (default: 250007)
-E <num> The Exponent to use. (default: 1.0)
-L Use lower-order terms. (default: no)
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classAbstractClassifier
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of the classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classAbstractClassifier
- Returns:
- an array of strings suitable for passing to setOptions
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Specified by:
getCapabilities
in interfaceClassifier
- Overrides:
getCapabilities
in classAbstractClassifier
- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Method for building the classifier.- Specified by:
buildClassifier
in interfaceClassifier
- Parameters:
instances
- the set of training instances- Throws:
Exception
- if the classifier can't be built successfully
-
classifyInstance
Classifies the given instance using the linear regression function.- Specified by:
classifyInstance
in interfaceClassifier
- Overrides:
classifyInstance
in classAbstractClassifier
- Parameters:
instance
- the test instance- Returns:
- the classification
- Throws:
Exception
- if classification can't be done successfully
-
regOptimizerTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setRegOptimizer
sets the learning algorithm- Parameters:
regOptimizer
- the learning algorithm
-
getRegOptimizer
returns the learning algorithm- Returns:
- the learning algorithm
-
kernelTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setKernel
sets the kernel to use- Parameters:
value
- the kernel to use
-
getKernel
Returns the kernel to use- Returns:
- the current kernel
-
cTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getC
public double getC()Get the value of C.- Returns:
- Value of C.
-
setC
public void setC(double v) Set the value of C.- Parameters:
v
- Value to assign to C.
-
filterTypeTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getFilterType
Gets how the training data will be transformed. Will be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.- Returns:
- the filtering mode
-
setFilterType
Sets how the training data will be transformed. Should be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.- Parameters:
newType
- the new filtering mode
-
toString
Prints out the classifier. -
enumerateMeasures
Returns an enumeration of the measure names. Additional measures must follow the naming convention of starting with "measure", eg. double measureBlah()- Specified by:
enumerateMeasures
in interfaceAdditionalMeasureProducer
- Returns:
- an enumeration of the measure names
-
getMeasure
Returns the value of the named measure- Specified by:
getMeasure
in interfaceAdditionalMeasureProducer
- Parameters:
measureName
- the name of the measure to query for its value- Returns:
- the value of the named measure
- Throws:
IllegalArgumentException
- if the named measure is not supported
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classAbstractClassifier
- Returns:
- the revision
-
main
Main method for running this classifier.- Parameters:
args
- the commandline options
-