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: 15519 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  • 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