public class GreedyStepwise extends ASSearch implements RankedOutputSearch, StartSetHandler, OptionHandler
-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
| Modifier and Type | Field and Description |
|---|---|
protected ASEvaluation |
m_ASEval |
protected boolean |
m_backward
Use a backwards search instead of a forwards one
|
protected java.util.BitSet |
m_best_group
the best subset found
|
protected double |
m_bestMerit
the merit of the best subset found
|
protected int |
m_calculatedNumToSelect |
protected int |
m_classIndex
holds the class index
|
protected boolean |
m_conservativeSelection
If set then attributes will continue to be added during a forward search as
long as the merit does not degrade
|
protected boolean |
m_debug
Print debugging output
|
protected boolean |
m_doneRanking
used to indicate whether or not ranking has been performed
|
protected boolean |
m_doRank
go from one side of the search space to the other in order to generate a
ranking
|
protected boolean |
m_hasClass
does the data have a class
|
protected Instances |
m_Instances |
protected int |
m_numAttribs
number of attributes in the data
|
protected int |
m_numToSelect
The number of attributes to select. -1 indicates that all attributes are to
be retained.
|
protected java.util.concurrent.ExecutorService |
m_pool
Thread pool
|
protected int |
m_poolSize |
protected double[][] |
m_rankedAtts
a ranked list of attribute indexes
|
protected int |
m_rankedSoFar |
protected boolean |
m_rankingRequested
true if the user has requested a ranked list of attributes
|
protected int[] |
m_starting
holds an array of starting attributes
|
protected Range |
m_startRange
holds the start set for the search as a Range
|
protected double |
m_threshold
A threshold by which to discard attributes---used by the AttributeSelection
module
|
| Constructor and Description |
|---|
GreedyStepwise()
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected int[] |
attributeList(java.util.BitSet group)
converts a BitSet into a list of attribute indexes
|
java.lang.String |
conservativeForwardSelectionTipText()
Returns the tip text for this property
|
java.lang.String |
debuggingOutputTipText()
Returns the tip text for this property
|
java.lang.String |
generateRankingTipText()
Returns the tip text for this property
|
int |
getCalculatedNumToSelect()
Gets the calculated number of attributes to retain.
|
boolean |
getConservativeForwardSelection()
Gets whether conservative selection has been enabled
|
boolean |
getDebuggingOutput()
Get whether to output debugging info to the console
|
boolean |
getGenerateRanking()
Gets whether ranking has been requested.
|
int |
getNumExecutionSlots()
Gets the number of threads.
|
int |
getNumToSelect()
Gets the number of attributes to be retained.
|
java.lang.String[] |
getOptions()
Gets the current settings of ReliefFAttributeEval.
|
java.lang.String |
getRevision()
Returns the revision string.
|
boolean |
getSearchBackwards()
Get whether to search backwards
|
java.lang.String |
getStartSet()
Returns a list of attributes (and or attribute ranges) as a String
|
double |
getThreshold()
Returns the threshold so that the AttributeSelection module can discard
attributes from the ranking.
|
java.lang.String |
globalInfo()
Returns a string describing this search method
|
java.util.Enumeration<Option> |
listOptions()
Returns an enumeration describing the available options.
|
java.lang.String |
numExecutionSlotsTipText() |
java.lang.String |
numToSelectTipText()
Returns the tip text for this property
|
double[][] |
rankedAttributes()
Produces a ranked list of attributes.
|
protected void |
resetOptions()
Resets options
|
int[] |
search(ASEvaluation ASEval,
Instances data)
Searches the attribute subset space by forward selection.
|
java.lang.String |
searchBackwardsTipText()
Returns the tip text for this property
|
void |
setConservativeForwardSelection(boolean c)
Set whether attributes should continue to be added during a forward search
as long as merit does not decrease
|
void |
setDebuggingOutput(boolean d)
Set whether to output debugging info to the console
|
void |
setGenerateRanking(boolean doRank)
Records whether the user has requested a ranked list of attributes.
|
void |
setNumExecutionSlots(int nT)
Sets the number of threads
|
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.
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
void |
setSearchBackwards(boolean back)
Set whether to search backwards instead of forwards
|
void |
setStartSet(java.lang.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.
|
java.lang.String |
startSetTipText()
Returns the tip text for this property
|
protected java.lang.String |
startSetToString()
converts the array of starting attributes to a string.
|
java.lang.String |
thresholdTipText()
Returns the tip text for this property
|
java.lang.String |
toString()
returns a description of the search.
|
forName, makeCopiesprotected boolean m_hasClass
protected int m_classIndex
protected int m_numAttribs
protected boolean m_rankingRequested
protected boolean m_doRank
protected boolean m_doneRanking
protected double m_threshold
protected int m_numToSelect
protected int m_calculatedNumToSelect
protected double m_bestMerit
protected double[][] m_rankedAtts
protected int m_rankedSoFar
protected java.util.BitSet m_best_group
protected ASEvaluation m_ASEval
protected Instances m_Instances
protected Range m_startRange
protected int[] m_starting
protected boolean m_backward
protected boolean m_conservativeSelection
protected boolean m_debug
protected int m_poolSize
protected transient java.util.concurrent.ExecutorService m_pool
public java.lang.String globalInfo()
public java.lang.String searchBackwardsTipText()
public void setSearchBackwards(boolean back)
back - true to search backwardspublic boolean getSearchBackwards()
public java.lang.String thresholdTipText()
public void setThreshold(double threshold)
setThreshold in interface RankedOutputSearchthreshold - the threshold.public double getThreshold()
getThreshold in interface RankedOutputSearchpublic java.lang.String numToSelectTipText()
public void setNumToSelect(int n)
setNumToSelect in interface RankedOutputSearchn - the number of attributes to retainpublic int getNumToSelect()
getNumToSelect in interface RankedOutputSearchpublic int getCalculatedNumToSelect()
getCalculatedNumToSelect in interface RankedOutputSearchpublic java.lang.String generateRankingTipText()
public void setGenerateRanking(boolean doRank)
setGenerateRanking in interface RankedOutputSearchdoRank - true if ranking is requestedpublic boolean getGenerateRanking()
getGenerateRanking in interface RankedOutputSearchpublic java.lang.String startSetTipText()
public void setStartSet(java.lang.String startSet)
throws java.lang.Exception
setStartSet in interface StartSetHandlerstartSet - a string containing a list of attributes (and or ranges),
eg. 1,2,6,10-15.java.lang.Exception - if start set can't be set.public java.lang.String getStartSet()
getStartSet in interface StartSetHandlerpublic java.lang.String conservativeForwardSelectionTipText()
public void setConservativeForwardSelection(boolean c)
c - true if atts should continue to be attedpublic boolean getConservativeForwardSelection()
public java.lang.String debuggingOutputTipText()
public void setDebuggingOutput(boolean d)
d - true if dubugging info is to be outputpublic boolean getDebuggingOutput()
public java.lang.String numExecutionSlotsTipText()
public int getNumExecutionSlots()
public void setNumExecutionSlots(int nT)
public java.util.Enumeration<Option> listOptions()
listOptions in interface OptionHandlerpublic void setOptions(java.lang.String[] options)
throws java.lang.Exception
-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
setOptions in interface OptionHandleroptions - the list of options as an array of stringsjava.lang.Exception - if an option is not supportedpublic java.lang.String[] getOptions()
getOptions in interface OptionHandlerprotected java.lang.String startSetToString()
public java.lang.String toString()
toString in class java.lang.Objectpublic int[] search(ASEvaluation ASEval, Instances data) throws java.lang.Exception
public double[][] rankedAttributes()
throws java.lang.Exception
rankedAttributes in interface RankedOutputSearchjava.lang.Exception - if something goes wrong.protected int[] attributeList(java.util.BitSet group)
group - the BitSet to convertprotected void resetOptions()
public java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class ASSearch