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: 10169 $
Author:
Remco Bouckaert (remco@cs.waikato.ac.nz,rrb@xm.co.nz)
See Also:
  • 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<Option> 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