Package weka.attributeSelection

# Class Ranker

java.lang.Object
weka.attributeSelection.ASSearch
weka.attributeSelection.Ranker

All Implemented Interfaces:
  `Serializable`, `RankedOutputSearch`, `StartSetHandler`, `OptionHandler`, `RevisionHandler`

public class Ranker extends ASSearch implements RankedOutputSearch, StartSetHandler, OptionHandler
Ranker :
Ranks attributes by their individual evaluations. Use in conjunction with attribute evaluators (ReliefF, GainRatio, Entropy etc).

Valid options are:

     -P <start set>
      Specify a starting set of attributes.
      Eg. 1,3,5-7.
      Any starting attributes specified are
      ignored during the ranking.

     -T <threshold>
      Specify a theshold by which attributes
      may be discarded from the ranking.

     -N <num to select>
      Specify number of attributes to select

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

## Constructor Summary

Constructors
Constructor
Description
`Ranker()`
Constructor

## Method Summary

Modifier and Type
Method
Description
`String`
`generateRankingTipText()`
Returns the tip text for this property
`int`
`getCalculatedNumToSelect()`
Gets the calculated number to select.
`boolean`
`getGenerateRanking()`
This is a dummy method.
`int`
`getNumToSelect()`
Gets the number of attributes to be retained.
`String[]`
`getOptions()`
Gets the current settings of ReliefFAttributeEval.
`String`
`getRevision()`
Returns the revision string.
`String`
`getStartSet()`
Returns a list of attributes (and or attribute ranges) as a String
`double`
`getThreshold()`
Returns the threshold so that the AttributeSelection module can discard attributes from the ranking.
`String`
`globalInfo()`
Returns a string describing this search method
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options.
`String`
`numToSelectTipText()`
Returns the tip text for this property
`double[][]`
`rankedAttributes()`
Sorts the evaluated attribute list
`int[]`
`search(ASEvaluation ASEval, Instances data)`
Kind of a dummy search algorithm.
`void`
`setGenerateRanking(boolean doRank)`
This is a dummy set method---Ranker is ONLY capable of producing a ranked list of attributes for attribute evaluators.
`void`
`setNumToSelect(int n)`
Specify the number of attributes to select from the ranked list.
`void`
`setOptions(String[] options)`
Parses a given list of options.
`void`
`setStartSet(String startSet)`
Sets a starting set of attributes for the search.
`void`
`setThreshold(double threshold)`
Set the threshold by which the AttributeSelection module can discard attributes.
`String`
`startSetTipText()`
Returns the tip text for this property
`String`
`thresholdTipText()`
Returns the tip text for this property
`String`
`toString()`
returns a description of the search as a String

### Methods inherited from class weka.attributeSelection.ASSearch

`forName, makeCopies`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Ranker

public Ranker()
Constructor

## Method Details

### globalInfo

public String globalInfo()
Returns a string describing this search method

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

### numToSelectTipText

public String numToSelectTipText()
Returns the tip text for this property

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

### setNumToSelect

public void setNumToSelect(int n)
Specify the number of attributes to select from the ranked list. -1 indicates that all attributes are to be retained.

Specified by:
  `setNumToSelect` in interface `RankedOutputSearch`
Parameters:
  `n` - the number of attributes to retain

### getNumToSelect

public int getNumToSelect()
Gets the number of attributes to be retained.

Specified by:
  `getNumToSelect` in interface `RankedOutputSearch`
Returns:
  the number of attributes to retain

### getCalculatedNumToSelect

public int getCalculatedNumToSelect()
Gets the calculated number to select. This might be computed from a threshold, or if invalid input: '<' 0 is set as the number to select then it is set to the number of attributes in the (transformed) data.

Specified by:
  `getCalculatedNumToSelect` in interface `RankedOutputSearch`
Returns:
  the calculated number of attributes to select

### thresholdTipText

public String thresholdTipText()
Returns the tip text for this property

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

### setThreshold

public void setThreshold(double threshold)
Set the threshold by which the AttributeSelection module can discard attributes.

Specified by:
  `setThreshold` in interface `RankedOutputSearch`
Parameters:
  `threshold` - the threshold.

### getThreshold

public double getThreshold()
Returns the threshold so that the AttributeSelection module can discard attributes from the ranking.

Specified by:
  `getThreshold` in interface `RankedOutputSearch`
Returns:
  a threshold by which to discard attributes

### generateRankingTipText

public String generateRankingTipText()
Returns the tip text for this property

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

### setGenerateRanking

public void setGenerateRanking(boolean doRank)
This is a dummy set method---Ranker is ONLY capable of producing a ranked list of attributes for attribute evaluators.

Specified by:
  `setGenerateRanking` in interface `RankedOutputSearch`
Parameters:
  `doRank` - this parameter is N/A and is ignored

### getGenerateRanking

public boolean getGenerateRanking()
This is a dummy method. Ranker can ONLY be used with attribute evaluators and as such can only produce a ranked list of attributes

Specified by:
  `getGenerateRanking` in interface `RankedOutputSearch`
Returns:
  true all the time.

### startSetTipText

public String startSetTipText()
Returns the tip text for this property

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

### setStartSet

public void setStartSet(String startSet) throws Exception
Sets a starting set of attributes for the search. It is the search method's responsibility to report this start set (if any) in its toString() method.

Specified by:
  `setStartSet` in interface `StartSetHandler`
Parameters:
  `startSet` - a string containing a list of attributes (and or ranges), eg. 1,2,6,10-15.
Throws:
  `Exception` - if start set can't be set.

### getStartSet

public String getStartSet()
Returns a list of attributes (and or attribute ranges) as a String

Specified by:
  `getStartSet` in interface `StartSetHandler`
Returns:
  a list of attributes (and or attribute ranges)

### 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:

     -P <start set>
      Specify a starting set of attributes.
      Eg. 1,3,5-7.
      Any starting attributes specified are
      ignored during the ranking.

     -T <threshold>
      Specify a theshold by which attributes
      may be discarded from the ranking.

     -N <num to select>
      Specify number of attributes to select

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

### 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()

### search

public int[] search(ASEvaluation ASEval, Instances data) throws Exception
Kind of a dummy search algorithm. Calls a Attribute evaluator to evaluate each attribute not included in the startSet and then sorts them to produce a ranked list of attributes.

Specified by:
  `search` in class `ASSearch`
Parameters:
  `ASEval` - the attribute evaluator to guide the search
  `data` - the training instances.
Returns:
  an array (not necessarily ordered) of selected attribute indexes
Throws:
  `Exception` - if the search can't be completed

### rankedAttributes

public double[][] rankedAttributes() throws Exception
Sorts the evaluated attribute list

Specified by:
  `rankedAttributes` in interface `RankedOutputSearch`
Returns:
  an array of sorted (highest eval to lowest) attribute indexes
Throws:
  `Exception` - of sorting can't be done.

### toString

public String toString()
returns a description of the search as a String

Overrides:
  `toString` in class `Object`
Returns:
  a description of the search

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Overrides:
  `getRevision` in class `ASSearch`
Returns:
  the revision