Package weka.attributeSelection
Class GreedyStepwise
java.lang.Object
weka.attributeSelection.ASSearch
weka.attributeSelection.GreedyStepwise
- All Implemented Interfaces:
Serializable
,RankedOutputSearch
,StartSetHandler
,OptionHandler
,RevisionHandler
public class GreedyStepwise
extends ASSearch
implements RankedOutputSearch, StartSetHandler, OptionHandler
GreedyStepwise :
Performs a greedy forward or backward search through the space of attribute subsets. May start with no/all attributes or from an arbitrary point in the space. Stops when the addition/deletion of any remaining attributes results in a decrease in evaluation. Can also produce a ranked list of attributes by traversing the space from one side to the other and recording the order that attributes are selected.
Valid options are:
Performs a greedy forward or backward search through the space of attribute subsets. May start with no/all attributes or from an arbitrary point in the space. Stops when the addition/deletion of any remaining attributes results in a decrease in evaluation. Can also produce a ranked list of attributes by traversing the space from one side to the other and recording the order that attributes are selected.
Valid options are:
-C Use conservative forward search
-B Use a backward search instead of a forward one.
-P <start set> Specify a starting set of attributes. Eg. 1,3,5-7.
-R Produce a ranked list of attributes.
-T <threshold> Specify a theshold by which attributes may be discarded from the ranking. Use in conjuction with -R
-N <num to select> Specify number of attributes to select
-num-slots <int> The number of execution slots, for example, the number of cores in the CPU. (default 1)
-D Print debugging output
- Version:
- $Revision: 15519 $
- Author:
- Mark Hall
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the tip text for this propertyReturns the tip text for this propertyReturns the tip text for this propertyint
Gets the calculated number of attributes to retain.boolean
Gets whether conservative selection has been enabledboolean
Get whether to output debugging info to the consoleboolean
Gets whether ranking has been requested.int
Gets the number of threads.int
Gets the number of attributes to be retained.String[]
Gets the current settings of ReliefFAttributeEval.Returns the revision string.boolean
Get whether to search backwardsReturns a list of attributes (and or attribute ranges) as a Stringdouble
Returns the threshold so that the AttributeSelection module can discard attributes from the ranking.Returns a string describing this search methodReturns an enumeration describing the available options.Returns the tip text for this propertydouble[][]
Produces a ranked list of attributes.int[]
search
(ASEvaluation ASEval, Instances data) Searches the attribute subset space by forward selection.Returns the tip text for this propertyvoid
setConservativeForwardSelection
(boolean c) Set whether attributes should continue to be added during a forward search as long as merit does not decreasevoid
setDebuggingOutput
(boolean d) Set whether to output debugging info to the consolevoid
setGenerateRanking
(boolean doRank) Records whether the user has requested a ranked list of attributes.void
setNumExecutionSlots
(int nT) Sets the number of threadsvoid
setNumToSelect
(int n) Specify the number of attributes to select from the ranked list (if generating a ranking).void
setOptions
(String[] options) Parses a given list of options.void
setSearchBackwards
(boolean back) Set whether to search backwards instead of forwardsvoid
setStartSet
(String startSet) Sets a starting set of attributes for the search.void
setThreshold
(double threshold) Set the threshold by which the AttributeSelection module can discard attributes.Returns the tip text for this propertyReturns the tip text for this propertytoString()
returns a description of the search.Methods inherited from class weka.attributeSelection.ASSearch
forName, makeCopies
-
Constructor Details
-
GreedyStepwise
public GreedyStepwise()Constructor
-
-
Method Details
-
globalInfo
Returns a string describing this search method- Returns:
- a description of the search suitable for displaying in the explorer/experimenter gui
-
searchBackwardsTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setSearchBackwards
public void setSearchBackwards(boolean back) Set whether to search backwards instead of forwards- Parameters:
back
- true to search backwards
-
getSearchBackwards
public boolean getSearchBackwards()Get whether to search backwards- Returns:
- true if the search will proceed backwards
-
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 interfaceRankedOutputSearch
- 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 interfaceRankedOutputSearch
- Returns:
- a threshold by which to discard attributes
-
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 interfaceRankedOutputSearch
- Parameters:
n
- the number of attributes to retain
-
getNumToSelect
public int getNumToSelect()Gets the number of attributes to be retained.- Specified by:
getNumToSelect
in interfaceRankedOutputSearch
- 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 interfaceRankedOutputSearch
-
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 interfaceRankedOutputSearch
- 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 interfaceRankedOutputSearch
- Returns:
- true if ranking has been requested.
-
startSetTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setStartSet
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 interfaceStartSetHandler
- 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
Returns a list of attributes (and or attribute ranges) as a String- Specified by:
getStartSet
in interfaceStartSetHandler
- Returns:
- a list of attributes (and or attribute ranges)
-
conservativeForwardSelectionTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setConservativeForwardSelection
public void setConservativeForwardSelection(boolean c) Set whether attributes should continue to be added during a forward search as long as merit does not decrease- Parameters:
c
- true if atts should continue to be atted
-
getConservativeForwardSelection
public boolean getConservativeForwardSelection()Gets whether conservative selection has been enabled- Returns:
- true if conservative forward selection is enabled
-
debuggingOutputTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setDebuggingOutput
public void setDebuggingOutput(boolean d) Set whether to output debugging info to the console- Parameters:
d
- true if dubugging info is to be output
-
getDebuggingOutput
public boolean getDebuggingOutput()Get whether to output debugging info to the console- Returns:
- true if dubugging info is to be output
-
numExecutionSlotsTipText
- Returns:
- a string to describe the option
-
getNumExecutionSlots
public int getNumExecutionSlots()Gets the number of threads. -
setNumExecutionSlots
public void setNumExecutionSlots(int nT) Sets the number of threads -
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classASSearch
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-C Use conservative forward search
-B Use a backward search instead of a forward one.
-P <start set> Specify a starting set of attributes. Eg. 1,3,5-7.
-R Produce a ranked list of attributes.
-T <threshold> Specify a theshold by which attributes may be discarded from the ranking. Use in conjuction with -R
-N <num to select> Specify number of attributes to select
-num-slots <int> The number of execution slots, for example, the number of cores in the CPU. (default 1)
-D Print debugging output
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classASSearch
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of ReliefFAttributeEval.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classASSearch
- Returns:
- an array of strings suitable for passing to setOptions()
-
toString
returns a description of the search. -
search
Searches the attribute subset space by forward selection. -
rankedAttributes
Produces a ranked list of attributes. Search must have been performed prior to calling this function. Search is called by this function to complete the traversal of the the search space. A list of attributes and merits are returned. The attributes a ranked by the order they are added to the subset during a forward selection search. Individual merit values reflect the merit associated with adding the corresponding attribute to the subset; because of this, merit values may initially increase but then decrease as the best subset is "passed by" on the way to the far side of the search space.- Specified by:
rankedAttributes
in interfaceRankedOutputSearch
- Returns:
- an array of attribute indexes and associated merit values
- Throws:
Exception
- if something goes wrong.
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classASSearch
- Returns:
- the revision
-