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: 10169 $
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<Option>`
  `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<Option> 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