Package weka.classifiers.functions.supportVector

# Class RegSMO

java.lang.Object
weka.classifiers.functions.supportVector.RegOptimizer
weka.classifiers.functions.supportVector.RegSMO

All Implemented Interfaces:
  `Serializable`, `OptionHandler`, `RevisionHandler`, `TechnicalInformationHandler`

Direct Known Subclasses:
  `RegSMOImproved`

public class RegSMO extends RegOptimizer implements TechnicalInformationHandler
Implementation of SMO for support vector regression as described in :
A.J. Smola, B. Schoelkopf (1998). A tutorial on support vector regression.

BibTeX:

     @misc{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:

     -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)

Version:
  $Revision: 1.4 $
Author:
  Remco Bouckaert (remco@cs.waikato.ac.nz,rrb@xm.co.nz)
See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class weka.classifiers.functions.supportVector.RegOptimizer

`m_alpha, m_alphaStar`

## Constructor Summary

Constructors
Constructor
Description
`RegSMO()`
default constructor

## Method Summary

Modifier and Type
Method
Description
`void`
`buildClassifier(Instances instances)`
learn SVM parameters from data using Smola's SMO algorithm.
`String`
`epsilonTipText()`
Returns the tip text for this property
`double`
`getEpsilon()`
Get the value of epsilon.
`String[]`
`getOptions()`
Gets the current settings of the classifier.
`String`
`getRevision()`
Returns the revision string.
`TechnicalInformation`
`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.
`String`
`globalInfo()`
Returns a string describing classifier
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options
`void`
`optimize()`
finds alpha and alpha* parameters that optimize the SVM target function
`void`
`setEpsilon(double v)`
Set the value of epsilon.
`void`
`setOptions(String[] options)`
Parses a given list of options.

### Methods inherited from class weka.classifiers.functions.supportVector.RegOptimizer

`epsilonParameterTipText, getCacheHits, getEpsilonParameter, getKernelEvaluations, getSeed, modelBuilt, seedTipText, setEpsilonParameter, setSeed, setSMOReg, SVMOutput, toString`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### RegSMO

public RegSMO()
default constructor

## Method Details

### globalInfo

public String globalInfo()
Returns a string describing classifier

Returns:
  a description suitable for displaying in the explorer/experimenter gui

### getTechnicalInformation

public TechnicalInformation 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 interface `TechnicalInformationHandler`
Returns:
  the technical information about this class

### listOptions

public Enumeration listOptions()
Returns an enumeration describing the available options

Specified by:
  `listOptions` in interface `OptionHandler`
Overrides:
  `listOptions` in class `RegOptimizer`
Returns:
  an enumeration of all the available options

### setOptions

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

Valid options are:

     -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)

Specified by:
  `setOptions` in interface `OptionHandler`
Overrides:
  `setOptions` in class `RegOptimizer`
Parameters:
  `options` - the list of options as an array of strings
Throws:
  `Exception` - if an option is not supported

### getOptions

public String[] getOptions()
Gets the current settings of the classifier.

Specified by:
  `getOptions` in interface `OptionHandler`
Overrides:
  `getOptions` in class `RegOptimizer`
Returns:
  an array of strings suitable for passing to setOptions

### epsilonTipText

public String epsilonTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### getEpsilon

public double getEpsilon()
Get the value of epsilon.

Returns:
  Value of epsilon.

### setEpsilon

public void setEpsilon(double v)
Set the value of epsilon.

Parameters:
  `v` - Value to assign to epsilon.

### optimize

public void optimize() throws Exception
finds alpha and alpha* parameters that optimize the SVM target function

Throws:
  `Exception`

### buildClassifier

public void buildClassifier(Instances instances) throws Exception
learn SVM parameters from data using Smola's SMO algorithm. Subclasses should implement something more interesting.

Overrides:
  `buildClassifier` in class `RegOptimizer`
Parameters:
  `instances` - the data to learn from
Throws:
  `Exception` - if something goes wrong

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Overrides:
  `getRevision` in class `RegOptimizer`
Returns:
  the revision