weka.attributeSelection
Interface RankedOutputSearch

All Known Implementing Classes:
ForwardSelection, RaceSearch, Ranker

public interface RankedOutputSearch

Interface for search methods capable of producing a ranked list of attributes.

Version:
$Revision: 1.9 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)

Method Summary
 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. < 0 indicates that all attributes are to be retained.
 void setThreshold(double threshold)
          Sets a threshold by which attributes can be discarded from the ranking.
 

Method Detail

rankedAttributes

public 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

public 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

public 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

public 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

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

Returns:
the number of attributes to retain

getCalculatedNumToSelect

public 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

public 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

public 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.