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 LinearForwardSelection

    java.lang.Object
      weka.attributeSelection.ASSearch
          weka.attributeSelection.LinearForwardSelection

All Implemented Interfaces:
  java.io.Serializable, StartSetHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

    public class LinearForwardSelection

extends ASSearch
implements OptionHandler, StartSetHandler, TechnicalInformationHandler

LinearForwardSelection:
Extension of BestFirst. Takes a restricted number of k attributes into account. Fixed-set selects a fixed number k of attributes, whereas k is increased in each step when fixed-width is selected. The search uses either the initial ordering to select the top k attributes, or performs a ranking (with the same evalutator the search uses later on). The search direction can be forward, or floating forward selection (with opitional backward search steps).
For more information see:
Martin Guetlein (2006). Large Scale Attribute Selection Using Wrappers. Freiburg, Germany.

Valid options are:

     -P <start set>
      Specify a starting set of attributes.
      Eg. 1,3,5-7.

     -D <0 = forward selection | 1 = floating forward selection>
      Forward selection method. (default = 0).

     -N <num>
      Number of non-improving nodes to
      consider before terminating search.

     -I
      Perform initial ranking to select the
      top-ranked attributes.

     -K <num>
      Number of top-ranked attributes that are
      taken into account by the search.

     -T <0 = fixed-set | 1 = fixed-width>
      Type of Linear Forward Selection (default = 0).

     -S <num>
      Size of lookup cache for evaluated subsets.
      Expressed as a multiple of the number of
      attributes in the data set. (default = 1)

     -Z
      verbose on/off

Version:
  $Revision: 6161 $
Author:
  Martin Guetlein (martin.guetlein@gmail.com)
See Also:
  Serialized Form

Field Summary
`static Tag[]` | `TAGS_SEARCH_METHOD`
`static Tag[]` | `TAGS_TYPE`

Constructor Summary
`LinearForwardSelection()` Constructor

Method Summary
`java.lang.String` | `forwardSelectionMethodTipText()` Returns the tip text for this property
`SelectedTag` | `getForwardSelectionMethod()` Get the search direction
`int` | `getLookupCacheSize()` Return the maximum size of the evaluated subset cache (expressed as a multiplier for the number of attributes in a data set.
`int` | `getNumUsedAttributes()` Get the number of top-ranked attributes that taken into account by the search process.
`java.lang.String[]` | `getOptions()` Gets the current settings of LinearForwardSelection.
`boolean` | `getPerformRanking()` Get boolean if initial ranking should be performed to select the top-ranked attributes
`java.lang.String` | `getRevision()` Returns the revision string.
`int` | `getSearchTermination()` Get the termination criterion (number of non-improving nodes).
`java.lang.String` | `getStartSet()` Returns a list of attributes (and or attribute ranges) as a String
`TechnicalInformation` | `getTechnicalInformation()` Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
`SelectedTag` | `getType()` Get the type
`boolean` | `getVerbose()` Get whether output is to be verbose
`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` | `lookupCacheSizeTipText()` Returns the tip text for this property
`java.lang.String` | `numUsedAttributesTipText()` Returns the tip text for this property
`java.lang.String` | `performRankingTipText()` Returns the tip text for this property
`int[]` | `search(ASEvaluation ASEval, Instances data)` Searches the attribute subset space by linear forward selection
`java.lang.String` | `searchTerminationTipText()` Returns the tip text for this property
`void` | `setForwardSelectionMethod(SelectedTag d)` Set the search direction
`void` | `setLookupCacheSize(int size)` Set the maximum size of the evaluated subset cache (hashtable).
`void` | `setNumUsedAttributes(int k)` Set the number of top-ranked attributes that taken into account by the search process.
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`void` | `setPerformRanking(boolean b)` Perform initial ranking to select top-ranked attributes.
`void` | `setSearchTermination(int t)` Set the numnber of non-improving nodes to consider before terminating search.
`void` | `setStartSet(java.lang.String startSet)` Sets a starting set of attributes for the search.
`void` | `setType(SelectedTag t)` Set the type
`void` | `setVerbose(boolean b)` Set whether verbose output should be generated.
`java.lang.String` | `startSetTipText()` Returns the tip text for this property
`java.lang.String` | `toString()` returns a description of the search as a String
`java.lang.String` | `typeTipText()` Returns the tip text for this property
`java.lang.String` | `verboseTipText()` Returns the tip text for this property

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

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

Field Detail

### TAGS_SEARCH_METHOD

    public static final Tag[] TAGS_SEARCH_METHOD

### TAGS_TYPE

    public static final Tag[] TAGS_TYPE

Constructor Detail

### LinearForwardSelection

    public LinearForwardSelection()

  Constructor

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

### getTechnicalInformation

    public TechnicalInformation getTechnicalInformation()

  Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.

  Specified by:
    `getTechnicalInformation` in interface `TechnicalInformationHandler`
  Returns:
    the technical information about this class

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

  -P
  Specify a starting set of attributes. Eg 1,4,7-9.

  -D <0 = forward selection | 1 = floating forward selection>
  Forward selection method of the search. (default = 0).

  -N
  Number of non improving nodes to consider before terminating search. (default = 5).

  -I
  Perform initial ranking to select top-ranked attributes.

  -K
  Number of top-ranked attributes that are taken into account.

  -T <0 = fixed-set | 1 = fixed-width>
  Typ of Linear Forward Selection (default = 0).

  -S
  Size of lookup cache for evaluated subsets. Expressed as a multiple of the number of attributes in the data set. (default = 1).

  -Z
  verbose on/off.

  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

### setLookupCacheSize

    public void setLookupCacheSize(int size)

  Set the maximum size of the evaluated subset cache (hashtable). This is expressed as a multiplier for the number of attributes in the data set. (default = 1).

  Parameters:
    `size` - the maximum size of the hashtable

### getLookupCacheSize

    public int getLookupCacheSize()

  Return the maximum size of the evaluated subset cache (expressed as a multiplier for the number of attributes in a data set.

  Returns:
    the maximum size of the hashtable.

### lookupCacheSizeTipText

    public java.lang.String lookupCacheSizeTipText()

  Returns the tip text for this property

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

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

### searchTerminationTipText

    public java.lang.String searchTerminationTipText()

  Returns the tip text for this property

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

### setSearchTermination

    public void setSearchTermination(int t)
                              throws java.lang.Exception

  Set the numnber of non-improving nodes to consider before terminating search.

  Parameters:
    `t` - the number of non-improving nodes
  Throws:
    `java.lang.Exception` - if t is less than 1

### getSearchTermination

    public int getSearchTermination()

  Get the termination criterion (number of non-improving nodes).

  Returns:
    the number of non-improving nodes

### performRankingTipText

    public java.lang.String performRankingTipText()

  Returns the tip text for this property

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

### setPerformRanking

    public void setPerformRanking(boolean b)

  Perform initial ranking to select top-ranked attributes.

  Parameters:
    `b` - true if initial ranking should be performed

### getPerformRanking

    public boolean getPerformRanking()

  Get boolean if initial ranking should be performed to select the top-ranked attributes

  Returns:
    true if initial ranking should be performed

### numUsedAttributesTipText

    public java.lang.String numUsedAttributesTipText()

  Returns the tip text for this property

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

### setNumUsedAttributes

    public void setNumUsedAttributes(int k)
                              throws java.lang.Exception

  Set the number of top-ranked attributes that taken into account by the search process.

  Parameters:
    `k` - the number of attributes
  Throws:
    `java.lang.Exception` - if k is less than 2

### getNumUsedAttributes

    public int getNumUsedAttributes()

  Get the number of top-ranked attributes that taken into account by the search process.

  Returns:
    the number of top-ranked attributes that taken into account

### forwardSelectionMethodTipText

    public java.lang.String forwardSelectionMethodTipText()

  Returns the tip text for this property

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

### setForwardSelectionMethod

    public void setForwardSelectionMethod(SelectedTag d)

  Set the search direction

  Parameters:
    `d` - the direction of the search

### getForwardSelectionMethod

    public SelectedTag getForwardSelectionMethod()

  Get the search direction

  Returns:
    the direction of the search

### typeTipText

    public java.lang.String typeTipText()

  Returns the tip text for this property

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

### setType

    public void setType(SelectedTag t)

  Set the type

  Parameters:
    `t` - the Linear Forward Selection type

### getType

    public SelectedTag getType()

  Get the type

  Returns:
    the Linear Forward Selection type

### verboseTipText

    public java.lang.String verboseTipText()

  Returns the tip text for this property

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

### setVerbose

    public void setVerbose(boolean b)

  Set whether verbose output should be generated.

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

### getVerbose

    public boolean getVerbose()

  Get whether output is to be verbose

  Returns:
    true if output will be verbose

### getOptions

    public java.lang.String[] getOptions()

  Gets the current settings of LinearForwardSelection.

  Specified by:
    `getOptions` in interface `OptionHandler`
  Returns:
    an array of strings suitable for passing to setOptions()

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

### search

    public int[] search(ASEvaluation ASEval,
                        Instances data)
                 throws java.lang.Exception

  Searches the attribute subset space by linear forward selection

  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

### getRevision

    public java.lang.String getRevision()

  Returns the revision string.

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

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