Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.attributeSelection
Class RaceSearch

    java.lang.Object
      weka.attributeSelection.ASSearch
          weka.attributeSelection.RaceSearch

All Implemented Interfaces:
  java.io.Serializable, RankedOutputSearch, OptionHandler

    public class RaceSearch

extends ASSearch
implements RankedOutputSearch, OptionHandler

Class for performing a racing search.

For more information see:
Moore, A. W. and Lee, M. S. (1994). Efficient algorithms for minimising cross validation error. Proceedings of the Eleventh International Conference on Machine Learning. pp 190--198.

Valid options are:

-R
0 = forward, 1 = backward, 2 = schemata, 3 = rank.

-L
significance level to use for t-tests.

-T
threshold for considering mean errors of two subsets the same

-F
0 = 10 fold, 1 = leave-one-out (selected automatically for schemata race

-A
the attribute evaluator to use when doing a rank search

-Q
produce a ranked list of attributes. Selecting this option forces the race type to be forward. Racing continues until *all* attributes have been selected, thus producing a ranked list of attributes.

-N
Specify the number of attributes to retain. Overides any threshold. Use in conjunction with -Q.

-J
Specify a threshold by which the AttributeSelection module can discard attributes. Use in conjunction with -Q.

-Z
Turn on verbose output for monitoring the search

Version:
  $Revision: 1.14.2.1 $
Author:
  Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  Serialized Form

Field Summary
`static Tag[]` | `TAGS_SELECTION`
`static Tag[]` | `XVALTAGS_SELECTION`

Constructor Summary
`RaceSearch()`

Method Summary
`java.lang.String` | `attributeEvaluatorTipText()` Returns the tip text for this property
`java.lang.String` | `debugTipText()` Returns the tip text for this property
`java.lang.String` | `foldsTipText()` Returns the tip text for this property
`java.lang.String` | `generateRankingTipText()` Returns the tip text for this property
`ASEvaluation` | `getAttributeEvaluator()` Get the attribute evaluator used to generate the ranking.
`int` | `getCalculatedNumToSelect()` Gets the calculated number of attributes to retain.
`boolean` | `getDebug()` Get whether output is to be verbose
`SelectedTag` | `getFoldsType()` Get the xfold type
`boolean` | `getGenerateRanking()` Gets whether ranking has been requested.
`int` | `getNumToSelect()` Gets the number of attributes to be retained.
`java.lang.String[]` | `getOptions()` Gets the current settings of BestFirst.
`SelectedTag` | `getRaceType()` Get the race type
`double` | `getSelectionThreshold()` Returns the threshold so that the AttributeSelection module can discard attributes from the ranking.
`double` | `getSignificanceLevel()` Get the significance level
`double` | `getThreshold()` Get the threshold
`java.lang.String` | `globalInfo()` Returns a string describing this search method
`java.util.Enumeration` | `listOptions()` Returns an enumeration describing the available options.
`java.lang.String` | `numToSelectTipText()` Returns the tip text for this property
`java.lang.String` | `raceTypeTipText()` Returns the tip text for this property
`double[][]` | `rankedAttributes()` Returns a X by 2 list of attribute indexes and corresponding evaluations from best (highest) to worst.
`int[]` | `search(ASEvaluation ASEval, Instances data)` Searches the attribute subset space by racing cross validation errors of competing subsets
`java.lang.String` | `selectionThresholdTipText()` Returns the tip text for this property
`void` | `setAttributeEvaluator(ASEvaluation newEvaluator)` Set the attribute evaluator to use for generating the ranking.
`void` | `setDebug(boolean d)` Set whether verbose output should be generated.
`void` | `setFoldsType(SelectedTag d)` Set the xfold type
`void` | `setGenerateRanking(boolean doRank)` Records whether the user has requested a ranked list of attributes.
`void` | `setNumToSelect(int n)` Specify the number of attributes to select from the ranked list (if generating a ranking).
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`void` | `setRaceType(SelectedTag d)` Set the race type
`void` | `setSelectionThreshold(double threshold)` Set the threshold by which the AttributeSelection module can discard attributes.
`void` | `setSignificanceLevel(double sig)` Sets the significance level to use
`void` | `setThreshold(double t)` Sets the threshold for comparisons
`java.lang.String` | `significanceLevelTipText()` Returns the tip text for this property
`java.lang.String` | `thresholdTipText()` Returns the tip text for this property
`java.lang.String` | `toString()`

Methods inherited from class weka.attributeSelection.ASSearch
`forName`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### TAGS_SELECTION

    public static final Tag[] TAGS_SELECTION

### XVALTAGS_SELECTION

    public static final Tag[] XVALTAGS_SELECTION

Constructor Detail

### RaceSearch

    public RaceSearch()

Method Detail

### globalInfo

    public java.lang.String globalInfo()

  Returns a string describing this search method

  Returns:
    a description of the search method suitable for displaying in the explorer/experimenter gui

### raceTypeTipText

    public java.lang.String raceTypeTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setRaceType

    public void setRaceType(SelectedTag d)

  Set the race type

  Parameters:
    `d` - the type of race

### getRaceType

    public SelectedTag getRaceType()

  Get the race type

  Returns:
    the type of race

### significanceLevelTipText

    public java.lang.String significanceLevelTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setSignificanceLevel

    public void setSignificanceLevel(double sig)

  Sets the significance level to use

  Parameters:
    `sig` - the significance level

### getSignificanceLevel

    public double getSignificanceLevel()

  Get the significance level

  Returns:
    the current significance level

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

  Sets the threshold for comparisons

  Specified by:
    `setThreshold` in interface `RankedOutputSearch`
  Parameters:
    `t` - the threshold to use

### getThreshold

    public double getThreshold()

  Get the threshold

  Specified by:
    `getThreshold` in interface `RankedOutputSearch`
  Returns:
    the current threshold

### foldsTipText

    public java.lang.String foldsTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setFoldsType

    public void setFoldsType(SelectedTag d)

  Set the xfold type

  Parameters:
    `d` - the type of xval

### getFoldsType

    public SelectedTag getFoldsType()

  Get the xfold type

  Returns:
    the type of xval

### debugTipText

    public java.lang.String debugTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setDebug

    public void setDebug(boolean d)

  Set whether verbose output should be generated.

  Parameters:
    `d` - true if output is to be verbose.

### getDebug

    public boolean getDebug()

  Get whether output is to be verbose

  Returns:
    true if output will be verbose

### attributeEvaluatorTipText

    public java.lang.String attributeEvaluatorTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setAttributeEvaluator

    public void setAttributeEvaluator(ASEvaluation newEvaluator)

  Set the attribute evaluator to use for generating the ranking.

  Parameters:
    `newEvaluator` - the attribute evaluator to use.

### getAttributeEvaluator

    public ASEvaluation getAttributeEvaluator()

  Get the attribute evaluator used to generate the ranking.

  Returns:
    the evaluator used to generate the ranking.

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

  Records whether the user has requested a ranked list of attributes.

  Specified by:
    `setGenerateRanking` in interface `RankedOutputSearch`
  Parameters:
    `doRank` - true if ranking is requested

### getGenerateRanking

    public boolean getGenerateRanking()

  Gets whether ranking has been requested. This is used by the AttributeSelection module to determine if rankedAttributes() should be called.

  Specified by:
    `getGenerateRanking` in interface `RankedOutputSearch`
  Returns:
    true if ranking has been requested.

### 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 (if generating a ranking). -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 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.

  Specified by:
    `getCalculatedNumToSelect` in interface `RankedOutputSearch`

### selectionThresholdTipText

    public java.lang.String selectionThresholdTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setSelectionThreshold

    public void setSelectionThreshold(double threshold)

  Set the threshold by which the AttributeSelection module can discard attributes.

  Parameters:
    `threshold` - the threshold.

### getSelectionThreshold

    public double getSelectionThreshold()

  Returns the threshold so that the AttributeSelection module can discard attributes from the ranking.

### listOptions

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

  -R
  0 = forward, 1 = backward, 2 = schemata, 3 = rank.

  -L
  significance level to use for t-tests.

  -T
  threshold for considering mean errors of two subsets the same

  -F
  0 = 10 fold, 1 = leave-one-out (selected automatically for schemata race

  -A
  the attribute evaluator to use when doing a rank search

  -Q
  produce a ranked list of attributes. Selecting this option forces the race type to be forward. Racing continues until *all* attributes have been selected, thus producing a ranked list of attributes.

  -N
  Specify the number of attributes to retain. Overides any threshold. Use in conjunction with -Q.

  -J
  Specify a threshold by which the AttributeSelection module can discard attributes. Use in conjunction with -Q.

  -Z
  Turn on verbose output for monitoring the search

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

  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

  Searches the attribute subset space by racing cross validation errors of competing subsets

  Specified by:
    `search` in class `ASSearch`
  Parameters:
    `ASEvaluator` - 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

  Description copied from interface: `RankedOutputSearch`
  Returns a X by 2 list of attribute indexes and corresponding evaluations from best (highest) to worst.

  Specified by:
    `rankedAttributes` in interface `RankedOutputSearch`
  Returns:
    the ranked list of attribute indexes in an array of ints
  Throws:
    `java.lang.Exception` - if the ranking can't be produced

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD