Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.attributeSelection
Class ReliefFAttributeEval

    java.lang.Object
      weka.attributeSelection.ASEvaluation
          weka.attributeSelection.AttributeEvaluator
              weka.attributeSelection.ReliefFAttributeEval

All Implemented Interfaces:
  java.io.Serializable, OptionHandler

    public class ReliefFAttributeEval

extends AttributeEvaluator
implements OptionHandler

Class for Evaluating attributes individually using ReliefF.

For more information see:

Kira, K. and Rendell, L. A. (1992). A practical approach to feature selection. In D. Sleeman and P. Edwards, editors, Proceedings of the International Conference on Machine Learning, pages 249-256. Morgan Kaufmann.

Kononenko, I. (1994). Estimating attributes: analysis and extensions of Relief. In De Raedt, L. and Bergadano, F., editors, Machine Learning: ECML-94, pages 171-182. Springer Verlag.

Marko Robnik Sikonja, Igor Kononenko: An adaptation of Relief for attribute estimation on regression. In D.Fisher (ed.): Machine Learning, Proceedings of 14th International Conference on Machine Learning ICML'97, Nashville, TN, 1997.

Valid options are: -M
Specify the number of instances to sample when estimating attributes.
If not specified then all instances will be used.

-D
Seed for randomly sampling instances.

-K
Number of nearest neighbours to use for estimating attributes.
(Default is 10).

-W
Weight nearest neighbours by distance.

-A
Specify sigma value (used in an exp function to control how quickly
weights decrease for more distant instances). Use in conjunction with
-W. Sensible values = 1/5 to 1/10 the number of nearest neighbours.

Version:
  $Revision: 1.15 $
Author:
  Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  Serialized Form

Constructor Summary
`ReliefFAttributeEval()` Constructor

Method Summary
`void` | `buildEvaluator(Instances data)` Initializes a ReliefF attribute evaluator.
`double` | `evaluateAttribute(int attribute)` Evaluates an individual attribute using ReliefF's instance based approach.
`int` | `getNumNeighbours()` Get the number of nearest neighbours
`java.lang.String[]` | `getOptions()` Gets the current settings of ReliefFAttributeEval.
`int` | `getSampleSize()` Get the number of instances used for estimating attributes
`int` | `getSeed()` Get the seed used for randomly sampling instances.
`int` | `getSigma()` Get the value of sigma.
`boolean` | `getWeightByDistance()` Get whether nearest neighbours are being weighted by distance
`java.lang.String` | `globalInfo()` Returns a string describing this attribute evaluator
`java.util.Enumeration` | `listOptions()` Returns an enumeration describing the available options.
`static void` | `main(java.lang.String[] args)` Main method for testing this class.
`java.lang.String` | `numNeighboursTipText()` Returns the tip text for this property
`java.lang.String` | `sampleSizeTipText()` Returns the tip text for this property
`java.lang.String` | `seedTipText()` Returns the tip text for this property
`void` | `setNumNeighbours(int n)` Set the number of nearest neighbours
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`void` | `setSampleSize(int s)` Set the number of instances to sample for attribute estimation
`void` | `setSeed(int s)` Set the random number seed for randomly sampling instances.
`void` | `setSigma(int s)` Sets the sigma value.
`void` | `setWeightByDistance(boolean b)` Set the nearest neighbour weighting method
`java.lang.String` | `sigmaTipText()` Returns the tip text for this property
`java.lang.String` | `toString()` Return a description of the ReliefF attribute evaluator.
`java.lang.String` | `weightByDistanceTipText()` Returns the tip text for this property

Methods inherited from class weka.attributeSelection.ASEvaluation
`forName, makeCopies, postProcess`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ReliefFAttributeEval

    public ReliefFAttributeEval()

  Constructor

Method Detail

### globalInfo

    public java.lang.String globalInfo()

  Returns a string describing this attribute evaluator

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

### listOptions

    public java.util.Enumeration listOptions()

  Returns an enumeration describing the available options.

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

### setOptions

    public void setOptions(java.lang.String[] options)
                    throws java.lang.Exception

  Parses a given list of options. Valid options are:

  -M
  Specify the number of instances to sample when estimating attributes.
  If not specified then all instances will be used.

  -D
  Seed for randomly sampling instances.

  -K
  Number of nearest neighbours to use for estimating attributes.
  (Default is 10).

  -W
  Weight nearest neighbours by distance.

  -A
  Specify sigma value (used in an exp function to control how quickly
  weights decrease for more distant instances). Use in conjunction with
  -W. Sensible values = 1/5 to 1/10 the number of nearest neighbours.

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

### sigmaTipText

    public java.lang.String sigmaTipText()

  Returns the tip text for this property

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

### setSigma

    public void setSigma(int s)
                  throws java.lang.Exception

  Sets the sigma value.

  Parameters:
    `s` - the value of sigma (> 0)
  Throws:
    `java.lang.Exception` - if s is not positive

### getSigma

    public int getSigma()

  Get the value of sigma.

  Returns:
    the sigma value.

### numNeighboursTipText

    public java.lang.String numNeighboursTipText()

  Returns the tip text for this property

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

### setNumNeighbours

    public void setNumNeighbours(int n)

  Set the number of nearest neighbours

  Parameters:
    `n` - the number of nearest neighbours.

### getNumNeighbours

    public int getNumNeighbours()

  Get the number of nearest neighbours

  Returns:
    the number of nearest neighbours

### seedTipText

    public java.lang.String seedTipText()

  Returns the tip text for this property

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

### setSeed

    public void setSeed(int s)

  Set the random number seed for randomly sampling instances.

  Parameters:
    `s` - the random number seed.

### getSeed

    public int getSeed()

  Get the seed used for randomly sampling instances.

  Returns:
    the random number seed.

### sampleSizeTipText

    public java.lang.String sampleSizeTipText()

  Returns the tip text for this property

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

### setSampleSize

    public void setSampleSize(int s)

  Set the number of instances to sample for attribute estimation

  Parameters:
    `s` - the number of instances to sample.

### getSampleSize

    public int getSampleSize()

  Get the number of instances used for estimating attributes

  Returns:
    the number of instances.

### weightByDistanceTipText

    public java.lang.String weightByDistanceTipText()

  Returns the tip text for this property

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

### setWeightByDistance

    public void setWeightByDistance(boolean b)

  Set the nearest neighbour weighting method

  Parameters:
    `b` - true nearest neighbours are to be weighted by distance.

### getWeightByDistance

    public boolean getWeightByDistance()

  Get whether nearest neighbours are being weighted by distance

  Returns:
    m_weightByDiffernce

### getOptions

    public java.lang.String[] getOptions()

  Gets the current settings of ReliefFAttributeEval.

  Specified by:
    `getOptions` in interface `OptionHandler`
  Returns:
    an array of strings suitable for passing to setOptions()

### toString

    public java.lang.String toString()

  Return a description of the ReliefF attribute evaluator.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a description of the evaluator as a String.

### buildEvaluator

    public void buildEvaluator(Instances data)
                        throws java.lang.Exception

  Initializes a ReliefF attribute evaluator.

  Specified by:
    `buildEvaluator` in class `ASEvaluation`
  Parameters:
    `data` - set of instances serving as training data
  Throws:
    `java.lang.Exception` - if the evaluator has not been generated successfully

### evaluateAttribute

    public double evaluateAttribute(int attribute)
                             throws java.lang.Exception

  Evaluates an individual attribute using ReliefF's instance based approach. The actual work is done by buildEvaluator which evaluates all features.

  Specified by:
    `evaluateAttribute` in class `AttributeEvaluator`
  Parameters:
    `attribute` - the index of the attribute to be evaluated
  Returns:
    the "merit" of the attribute
  Throws:
    `java.lang.Exception` - if the attribute could not be evaluated

### main

    public static void main(java.lang.String[] args)

  Main method for testing this class.

  Parameters:
    `args` - the options

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD