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: 15520 $
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<Option>`
  `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 < 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<Option> listOptions()
    Returns an enumeration describing the available options.
    Specified by:
      `listOptions` in interface `OptionHandler`
    Overrides:
      `listOptions` in class `ASSearch`
    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`
    Overrides:
      `setOptions` in class `ASSearch`
    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`
    Overrides:
      `getOptions` in class `ASSearch`
    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