Package weka.classifiers.functions.supportVector

# Class RegSMOImproved

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

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

public class RegSMOImproved extends RegSMO implements TechnicalInformationHandler
Learn SVM for regression using SMO with Shevade, Keerthi, et al. adaption of the stopping criterion.
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.
S.K. Shevade, S.S. Keerthi, C. Bhattacharyya, K.R.K. Murthy (1999). Improvements to the SMO Algorithm for SVM Regression. Control Division, Dept. of Mechanical Engineering.

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{Shevade1999,
        address = {Control Division, Dept. of Mechanical Engineering},
        author = {S.K. Shevade and S.S. Keerthi and C. Bhattacharyya and K.R.K. Murthy},
        institution = {National University of Singapore},
        number = {CD-99-16},
        title = {Improvements to the SMO Algorithm for SVM Regression},
        year = {1999},
        PS = {http://guppy.mpe.nus.edu.sg/\~mpessk/svm/smoreg_mod.ps.gz}
     }

Valid options are:

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

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

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`I0`
`static final int`
`I0a`
`static final int`
`I0b`
`static final int`
`I1`
`static final int`
`I2`
`static final int`
`I3`

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

`m_alpha, m_alphaStar`

## Constructor Summary

Constructors
Constructor
Description
`RegSMOImproved()`

## Method Summary

Modifier and Type
Method
Description
`void`
`buildClassifier(Instances instances)`
learn SVM parameters from data using Keerthi's SMO algorithm.
`String[]`
`getOptions()`
Gets the current settings of the object.
`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.
`double`
`getTolerance()`
returns the current tolerance
`String`
`globalInfo()`
Returns a string describing the object
`boolean`
`isUseVariant1()`
Whether variant 1 is used
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options
`void`
`setOptions(String[] options)`
Parses a given list of options.
`void`
`setTolerance(double d)`
sets the tolerance
`void`
`setUseVariant1(boolean b)`
Sets whether to use variant 1
`String`
`toleranceTipText()`
Returns the tip text for this property
`String`
`useVariant1TipText()`
Returns the tip text for this property

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

`epsilonTipText, getEpsilon, optimize, setEpsilon`

### 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`

## Field Details

### I0

public static final int I0

See Also:
  - Constant Field Values

### I0a

public static final int I0a

See Also:
  - Constant Field Values

### I0b

public static final int I0b

See Also:
  - Constant Field Values

### I1

public static final int I1

See Also:
  - Constant Field Values

### I2

public static final int I2

See Also:
  - Constant Field Values

### I3

public static final int I3

See Also:
  - Constant Field Values

## Constructor Details

### RegSMOImproved

public RegSMOImproved()

## Method Details

### globalInfo

public String globalInfo()
Returns a string describing the object

Overrides:
  `globalInfo` in class `RegSMO`
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`
Overrides:
  `getTechnicalInformation` in class `RegSMO`
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 `RegSMO`
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:

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

Specified by:
  `setOptions` in interface `OptionHandler`
Overrides:
  `setOptions` in class `RegSMO`
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 object.

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

### toleranceTipText

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

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

### getTolerance

public double getTolerance()
returns the current tolerance

Returns:
  the tolerance

### setTolerance

public void setTolerance(double d)
sets the tolerance

Parameters:
  `d` - the new tolerance

### useVariant1TipText

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

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

### isUseVariant1

public boolean isUseVariant1()
Whether variant 1 is used

Returns:
  true if variant 1 is used

### setUseVariant1

public void setUseVariant1(boolean b)
Sets whether to use variant 1

Parameters:
  `b` - if true then variant 1 is used

### buildClassifier

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

Overrides:
  `buildClassifier` in class `RegSMO`
Parameters:
  `instances` - the data to work with
Throws:
  `Exception` - if something goes wrong

### getRevision

public String getRevision()
Returns the revision string.

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