weka.attributeSelection

## Class Ranker

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

- All Implemented Interfaces:
    java.io.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: 11213 $
  Author:
    Mark Hall (mhall@cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Ranker()` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.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.
    `java.lang.String[]` | `getOptions()` Gets the current settings of ReliefFAttributeEval.
    `java.lang.String` | `getRevision()` Returns the revision string.
    `java.lang.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.
    `java.lang.String` | `globalInfo()` Returns a string describing this search method
    `java.util.Enumeration<Option>` | `listOptions()` Returns an enumeration describing the available options.
    `java.lang.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(java.lang.String[] options)` Parses a given list of options.
    `void` | `setStartSet(java.lang.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.
    `java.lang.String` | `startSetTipText()` Returns the tip text for this property
    `java.lang.String` | `thresholdTipText()` Returns the tip text for this property
    `java.lang.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 Detail

    - #### Ranker

          public Ranker()

      Constructor

  - ### Method Detail

    - #### globalInfo

          public java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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(java.lang.String startSet)
                           throws java.lang.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:
        `java.lang.Exception` - if start set can't be set.

    - #### getStartSet

          public java.lang.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 java.util.Enumeration<Option> 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:

           -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:
        `java.lang.Exception` - if an option is not supported

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

    - #### search

          public int[] search(ASEvaluation ASEval,
                              Instances data)
                       throws java.lang.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:
        `java.lang.Exception` - if the search can't be completed

    - #### rankedAttributes

          public double[][] rankedAttributes()
                                      throws java.lang.Exception

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

    - #### toString

          public java.lang.String toString()

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

    - #### getRevision

          public java.lang.String getRevision()

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