类 SVMAttributeEval

java.lang.Object
weka.attributeSelection.ASEvaluation
weka.attributeSelection.SVMAttributeEval
所有已实现的接口:
Serializable, AttributeEvaluator, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class SVMAttributeEval extends ASEvaluation implements AttributeEvaluator, OptionHandler, TechnicalInformationHandler
SVMAttributeEval :

Evaluates the worth of an attribute by using an SVM classifier. Attributes are ranked by the square of the weight assigned by the SVM. Attribute selection for multiclass problems is handled by ranking attributes for each class seperately using a one-vs-all method and then "dealing" from the top of each pile to give a final ranking.

For more information see:

I. Guyon, J. Weston, S. Barnhill, V. Vapnik (2002). Gene selection for cancer classification using support vector machines. Machine Learning. 46:389-422.

BibTeX:

 @article{Guyon2002,
    author = {I. Guyon and J. Weston and S. Barnhill and V. Vapnik},
    journal = {Machine Learning},
    pages = {389-422},
    title = {Gene selection for cancer classification using support vector machines},
    volume = {46},
    year = {2002}
 }
 

Valid options are:

 -X <constant rate of elimination>
  Specify the constant rate of attribute
  elimination per invocation of
  the support vector machine.
  Default = 1.
 -Y <percent rate of elimination>
  Specify the percentage rate of attributes to
  elimination per invocation of
  the support vector machine.
  Trumps constant rate (above threshold).
  Default = 0.
 -Z <threshold for percent elimination>
  Specify the threshold below which 
  percentage attribute elimination
  reverts to the constant method.
 -P <epsilon>
  Specify the value of P (epsilon
  parameter) to pass on to the
  support vector machine.
  Default = 1.0e-25
 -T <tolerance>
  Specify the value of T (tolerance
  parameter) to pass on to the
  support vector machine.
  Default = 1.0e-10
 -C <complexity>
  Specify the value of C (complexity
  parameter) to pass on to the
  support vector machine.
  Default = 1.0
 -N
  Whether the SVM should 0=normalize/1=standardize/2=neither.
  (default 0=normalize)
版本:
$Revision: 1.28 $
作者:
Eibe Frank (eibe@cs.waikato.ac.nz), Mark Hall (mhall@cs.waikato.ac.nz), Kieran Holland
另请参阅:
  • 构造器详细资料

    • SVMAttributeEval

      public SVMAttributeEval()
      Constructor
  • 方法详细资料

    • globalInfo

      public String globalInfo()
      Returns a string describing this attribute evaluator
      返回:
      a description of the evaluator 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.
      指定者:
      getTechnicalInformation 在接口中 TechnicalInformationHandler
      返回:
      the technical information about this class
    • listOptions

      public Enumeration listOptions()
      Returns an enumeration describing all the available options
      指定者:
      listOptions 在接口中 OptionHandler
      返回:
      an enumeration of options
    • setOptions

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

      Valid options are:

       -X <constant rate of elimination>
        Specify the constant rate of attribute
        elimination per invocation of
        the support vector machine.
        Default = 1.
       -Y <percent rate of elimination>
        Specify the percentage rate of attributes to
        elimination per invocation of
        the support vector machine.
        Trumps constant rate (above threshold).
        Default = 0.
       -Z <threshold for percent elimination>
        Specify the threshold below which 
        percentage attribute elimination
        reverts to the constant method.
       -P <epsilon>
        Specify the value of P (epsilon
        parameter) to pass on to the
        support vector machine.
        Default = 1.0e-25
       -T <tolerance>
        Specify the value of T (tolerance
        parameter) to pass on to the
        support vector machine.
        Default = 1.0e-10
       -C <complexity>
        Specify the value of C (complexity
        parameter) to pass on to the
        support vector machine.
        Default = 1.0
       -N
        Whether the SVM should 0=normalize/1=standardize/2=neither.
        (default 0=normalize)
      指定者:
      setOptions 在接口中 OptionHandler
      参数:
      options - the list of options as an array of strings
      抛出:
      Exception - if an error occurs
    • getOptions

      public String[] getOptions()
      Gets the current settings of SVMAttributeEval
      指定者:
      getOptions 在接口中 OptionHandler
      返回:
      an array of strings suitable for passing to setOptions()
    • attsToEliminatePerIterationTipText

      public String attsToEliminatePerIterationTipText()
      Returns a tip text for this property suitable for display in the GUI
      返回:
      tip text string describing this property
    • percentToEliminatePerIterationTipText

      public String percentToEliminatePerIterationTipText()
      Returns a tip text for this property suitable for display in the GUI
      返回:
      tip text string describing this property
    • percentThresholdTipText

      public String percentThresholdTipText()
      Returns a tip text for this property suitable for display in the GUI
      返回:
      tip text string describing this property
    • epsilonParameterTipText

      public String epsilonParameterTipText()
      Returns a tip text for this property suitable for display in the GUI
      返回:
      tip text string describing this property
    • toleranceParameterTipText

      public String toleranceParameterTipText()
      Returns a tip text for this property suitable for display in the GUI
      返回:
      tip text string describing this property
    • complexityParameterTipText

      public String complexityParameterTipText()
      Returns a tip text for this property suitable for display in the GUI
      返回:
      tip text string describing this property
    • filterTypeTipText

      public String filterTypeTipText()
      Returns a tip text for this property suitable for display in the GUI
      返回:
      tip text string describing this property
    • setAttsToEliminatePerIteration

      public void setAttsToEliminatePerIteration(int cRate)
      Set the constant rate of attribute elimination per iteration
      参数:
      cRate - the constant rate of attribute elimination per iteration
    • getAttsToEliminatePerIteration

      public int getAttsToEliminatePerIteration()
      Get the constant rate of attribute elimination per iteration
      返回:
      the constant rate of attribute elimination per iteration
    • setPercentToEliminatePerIteration

      public void setPercentToEliminatePerIteration(int pRate)
      Set the percentage of attributes to eliminate per iteration
      参数:
      pRate - percent of attributes to eliminate per iteration
    • getPercentToEliminatePerIteration

      public int getPercentToEliminatePerIteration()
      Get the percentage rate of attribute elimination per iteration
      返回:
      the percentage rate of attribute elimination per iteration
    • setPercentThreshold

      public void setPercentThreshold(int pThresh)
      Set the threshold below which percentage elimination reverts to constant elimination.
      参数:
      pThresh - percent of attributes to eliminate per iteration
    • getPercentThreshold

      public int getPercentThreshold()
      Get the threshold below which percentage elimination reverts to constant elimination.
      返回:
      the threshold below which percentage elimination stops
    • setEpsilonParameter

      public void setEpsilonParameter(double svmP)
      Set the value of P for SMO
      参数:
      svmP - the value of P
    • getEpsilonParameter

      public double getEpsilonParameter()
      Get the value of P used with SMO
      返回:
      the value of P
    • setToleranceParameter

      public void setToleranceParameter(double svmT)
      Set the value of T for SMO
      参数:
      svmT - the value of T
    • getToleranceParameter

      public double getToleranceParameter()
      Get the value of T used with SMO
      返回:
      the value of T
    • setComplexityParameter

      public void setComplexityParameter(double svmC)
      Set the value of C for SMO
      参数:
      svmC - the value of C
    • getComplexityParameter

      public double getComplexityParameter()
      Get the value of C used with SMO
      返回:
      the value of C
    • setFilterType

      public void setFilterType(SelectedTag newType)
      The filtering mode to pass to SMO
      参数:
      newType - the new filtering mode
    • getFilterType

      public SelectedTag getFilterType()
      Get the filtering mode passed to SMO
      返回:
      the filtering mode
    • getCapabilities

      public Capabilities getCapabilities()
      Returns the capabilities of this evaluator.
      指定者:
      getCapabilities 在接口中 CapabilitiesHandler
      覆盖:
      getCapabilities 在类中 ASEvaluation
      返回:
      the capabilities of this evaluator
      另请参阅:
    • buildEvaluator

      public void buildEvaluator(Instances data) throws Exception
      Initializes the evaluator.
      指定者:
      buildEvaluator 在类中 ASEvaluation
      参数:
      data - set of instances serving as training data
      抛出:
      Exception - if the evaluator has not been generated successfully
    • evaluateAttribute

      public double evaluateAttribute(int attribute) throws Exception
      Evaluates an attribute by returning the rank of the square of its coefficient in a linear support vector machine.
      指定者:
      evaluateAttribute 在接口中 AttributeEvaluator
      参数:
      attribute - the index of the attribute to be evaluated
      返回:
      the "merit" of the attribute
      抛出:
      Exception - if the attribute could not be evaluated
    • toString

      public String toString()
      Return a description of the evaluator
      覆盖:
      toString 在类中 Object
      返回:
      description as a string
    • getRevision

      public String getRevision()
      Returns the revision string.
      指定者:
      getRevision 在接口中 RevisionHandler
      覆盖:
      getRevision 在类中 ASEvaluation
      返回:
      the revision
    • main

      public static void main(String[] args)
      Main method for testing this class.
      参数:
      args - the options