weka.attributeSelection
Class ReliefFAttributeEval
java.lang.Object
|
+--weka.attributeSelection.ASEvaluation
|
+--weka.attributeSelection.AttributeEvaluator
|
+--weka.attributeSelection.ReliefFAttributeEval
- All Implemented Interfaces:
- OptionHandler, Serializable
- 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.12 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
- Serialized Form
ReliefFAttributeEval
public ReliefFAttributeEval()
- Constructor
globalInfo
public 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 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(String[] options)
throws 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:
Exception
- if an option is not supported
sigmaTipText
public 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 Exception
- Sets the sigma value.
- Parameters:
s
- the value of sigma (> 0)
- Throws:
Exception
- if s is not positive
getSigma
public int getSigma()
- Get the value of sigma.
- Returns:
- the sigma value.
numNeighboursTipText
public 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 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 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 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 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 String toString()
- Return a description of the ReliefF attribute evaluator.
- Overrides:
toString
in class Object
- Returns:
- a description of the evaluator as a String.
buildEvaluator
public void buildEvaluator(Instances data)
throws Exception
- Initializes a ReliefF attribute evaluator.
- Specified by:
buildEvaluator
in class ASEvaluation
- Parameters:
data
- set of instances serving as training data
- Throws:
Exception
- if the evaluator has not been
generated successfully
evaluateAttribute
public double evaluateAttribute(int attribute)
throws 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:
Exception
- if the attribute could not be evaluated
resetOptions
protected void resetOptions()
- Reset options to their default values
main
public static void main(String[] args)
- Main method for testing this class.
- Parameters:
args
- the options