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: 15520 $
- Author:
- Mark Hall
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the tip text for this propertyReturns the tip text for this propertyReturns the tip text for this propertyintGets the calculated number of attributes to retain.booleanGets whether conservative selection has been enabledbooleanGet whether to output debugging info to the consolebooleanGets whether ranking has been requested.intGets the number of threads.intGets the number of attributes to be retained.String[]Gets the current settings of ReliefFAttributeEval.Returns the revision string.booleanGet whether to search backwardsReturns a list of attributes (and or attribute ranges) as a StringdoubleReturns 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 propertyvoidsetConservativeForwardSelection(boolean c) Set whether attributes should continue to be added during a forward search as long as merit does not decreasevoidsetDebuggingOutput(boolean d) Set whether to output debugging info to the consolevoidsetGenerateRanking(boolean doRank) Records whether the user has requested a ranked list of attributes.voidsetNumExecutionSlots(int nT) Sets the number of threadsvoidsetNumToSelect(int n) Specify the number of attributes to select from the ranked list (if generating a ranking).voidsetOptions(String[] options) Parses a given list of options.voidsetSearchBackwards(boolean back) Set whether to search backwards instead of forwardsvoidsetStartSet(String startSet) Sets a starting set of attributes for the search.voidsetThreshold(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:
setThresholdin 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:
getThresholdin 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:
setNumToSelectin interfaceRankedOutputSearch- Parameters:
n- the number of attributes to retain
-
getNumToSelect
public int getNumToSelect()Gets the number of attributes to be retained.- Specified by:
getNumToSelectin 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:
getCalculatedNumToSelectin 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:
setGenerateRankingin 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:
getGenerateRankingin 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:
setStartSetin 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:
getStartSetin 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:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin 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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin 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:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin 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:
rankedAttributesin interfaceRankedOutputSearch- Returns:
- an array of attribute indexes and associated merit values
- Throws:
Exception- if something goes wrong.
-
getRevision
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classASSearch- Returns:
- the revision
-