weka.attributeSelection

## Interface RankedOutputSearch

- All Known Implementing Classes:
    GreedyStepwise, Ranker

      public interface RankedOutputSearch

  Interface for search methods capable of producing a ranked list of attributes.
  Version:
    $Revision: 8034 $
  Author:
    Mark Hall (mhall@cs.waikato.ac.nz)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCalculatedNumToSelect()` Gets the calculated number of attributes to retain.
    `boolean` | `getGenerateRanking()` Gets whether the user has opted to see a ranked list of attributes rather than the normal result of the search
    `int` | `getNumToSelect()` Gets the user specified number of attributes to be retained.
    `double` | `getThreshold()` Gets the threshold by which attributes can be discarded.
    `double[][]` | `rankedAttributes()` Returns a X by 2 list of attribute indexes and corresponding evaluations from best (highest) to worst.
    `void` | `setGenerateRanking(boolean doRanking)` Sets whether or not ranking is to be performed.
    `void` | `setNumToSelect(int numToSelect)` Specify the number of attributes to select from the ranked list.
    `void` | `setThreshold(double threshold)` Sets a threshold by which attributes can be discarded from the ranking.

- - ### Method Detail

    - #### rankedAttributes

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

      Returns a X by 2 list of attribute indexes and corresponding evaluations from best (highest) to worst.
      Returns:
        the ranked list of attribute indexes in an array of ints
      Throws:
        `java.lang.Exception` - if the ranking can't be produced

    - #### setThreshold

          void setThreshold(double threshold)

      Sets a threshold by which attributes can be discarded from the ranking. This threshold is used by the AttributeSelection module which does the actual discarding of attributes---the implementer of this method needs only to provide a variable in which to store the supplied threshold. -Double.MAX_VALUE is reserved to mean no threshold, ie, retain all attributes.
      Parameters:
        `threshold` - the threshold.

    - #### getThreshold

          double getThreshold()

      Gets the threshold by which attributes can be discarded. Discarding of attributes is done by the AttributeSelection module using the threshold returned by this method.
      Returns:
        a threshold by which to discard attributes

    - #### setNumToSelect

          void setNumToSelect(int numToSelect)

      Specify the number of attributes to select from the ranked list. < 0 indicates that all attributes are to be retained. NumToSelect has precedence over threshold, ie. if there is a non -1 value for NumToSelect then this will take precedence over any threshold value.
      Parameters:
        `numToSelect` - the number of attributes to retain

    - #### getNumToSelect

          int getNumToSelect()

      Gets the user specified number of attributes to be retained.
      Returns:
        the number of attributes to retain

    - #### getCalculatedNumToSelect

          int getCalculatedNumToSelect()

      Gets the calculated number of attributes to retain. This is the actual number of attributes to retain. This is the same as getNumToSelect if the user specifies a number which is not less than zero. Otherwise it should be the number of attributes in the (potentially transformed) data.

    - #### setGenerateRanking

          void setGenerateRanking(boolean doRanking)

      Sets whether or not ranking is to be performed. When a search method is capable of producing a ranked list of attributes, the user has the choice of seeing the results of a normal search or seeing a ranked list.
      Parameters:
        `doRanking` - true if ranked list is to be produced

    - #### getGenerateRanking

          boolean getGenerateRanking()

      Gets whether the user has opted to see a ranked list of attributes rather than the normal result of the search
      Returns:
        true if a ranked list has been requested.