|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.attributeSelection.ASSearch
weka.attributeSelection.TabuSearch
public class TabuSearch
Class for performing the TabuSearch method.
Tabu Search :
Performs a search through the space of attribute subsets. Evading local maximums by accepting bad and diverse solutions and make further search in the best soluions. Stops when there's not more improvement in n iterations
;For more information see:
Abdel-Rahman Hedar, Jue Wangy,, Masao Fukushima (2006). Tabu Search for Attribute Reduction in Rough Set Theory. .
-Z <numInitialSolution> Specify the number of attributes in the initial Solution..
-P <diversificationProb> Specify the diversification probabilities, if this value is near to 0 then the best attributes will have more probabilities of keeping in the new diverse solution
-S <seed> Set the random number seed. (default = 1)
-N <number of neighbors> Set the number of neighbors to generate.BibTeX:
@book{Abdel-RahmanHedar2006, author = {Abdel-Rahman Hedar, Jue Wangy, and Masao Fukushima}, month = {July}, title = {Tabu Search for Attribute Reduction in Rough Set Theory}, year = {2006}, language = {English} }from the Book: Tabu Search for Attribute Reduction in Rough Set Theory, Abdel-Rahman Hedar, Jue Wangy, and Masao Fukushima.
Nested Class Summary | |
---|---|
class |
TabuSearch.Subset
|
Constructor Summary | |
---|---|
TabuSearch()
|
Method Summary | |
---|---|
int[] |
attributeList(java.util.BitSet group)
converts a BitSet into a list of attribute indexes |
java.util.List<TabuSearch.Subset> |
bubbleSubsetSort(java.util.List<TabuSearch.Subset> subsetList)
Sort a List of subsets according to their merits |
java.lang.String |
diversificationProbTipText()
Returns the tip text for this property |
java.util.BitSet |
diversify(java.util.List<TabuSearch.Subset> neighborhood)
Generate a diverse Bitset given a List of Subset |
TabuSearch.Subset |
eliteReducts(java.util.List<TabuSearch.Subset> RedSet,
int numSubset)
Find a better solution by intersecting and SFS of the best elite Reducts found till that moment |
TabuSearch.Subset |
GenerateInitialSolution(TabuSearch.Subset initial,
int size)
Generate an initial solution based in a Sequential Forward Selection (SFS) |
double |
getDiversificationProb()
get the probability of diversification |
int |
getInitialSize()
get the number of of attributes that are going to be in the initial Solution |
int |
getNumNeighborhood()
get the number of neighborhood |
java.lang.String[] |
getOptions()
Gets the current settings of TabuSearch. |
java.lang.String |
getRevision()
Returns the revision string. |
int |
getSeed()
get the value of the random number generator's seed |
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. |
java.lang.String |
globalInfo()
Returns a string describing this search method |
java.lang.String |
initialSizeTipText()
Returns the tip text for this property |
TabuSearch.Subset |
joinSubsets(TabuSearch.Subset subset1,
TabuSearch.Subset subset2)
Join two subsets |
java.util.Enumeration |
listOptions()
Returns an enumeration of all the available options.. |
java.lang.String |
numNeighborhoodTipText()
Returns the tip text for this property |
java.lang.String |
printSubset(TabuSearch.Subset subset)
|
int[] |
search(ASEvaluation ASEval,
Instances data)
Searches the attribute subset space using Tabu Search. |
java.lang.String |
seedTipText()
Returns the tip text for this property |
void |
setDiversificationProb(double p)
set the probability of diverification |
void |
setInitialSize(int n)
set the number of attributes that are going to be in the initial Solution |
void |
setNumNeighborhood(int n)
set the number of neighborhood |
void |
setOptions(java.lang.String[] options)
Valid options are: |
void |
setSeed(int s)
set the seed for random number generation |
java.lang.String |
toString()
returns a description of the search. |
Methods inherited from class weka.attributeSelection.ASSearch |
---|
forName, makeCopies |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TabuSearch()
Method Detail |
---|
public int[] search(ASEvaluation ASEval, Instances data) throws java.lang.Exception
search
in class ASSearch
ASEvaluator
- the attribute evaluator to guide the searchdata
- the training instances.
java.lang.Exception
- if the search can't be completedpublic java.util.BitSet diversify(java.util.List<TabuSearch.Subset> neighborhood)
neighborhood
- the list from which are going to be generate the diverse solution
public TabuSearch.Subset eliteReducts(java.util.List<TabuSearch.Subset> RedSet, int numSubset) throws java.lang.Exception
RedSet
- the Subset List of the Elite Reducted found till that momentnumSubset
- number of elites to intersect
java.lang.Exception
- if any evaluation can't be completedpublic TabuSearch.Subset GenerateInitialSolution(TabuSearch.Subset initial, int size) throws java.lang.Exception
size
- number of posible attributes in the initial Solution
java.lang.Exception
- if the evaluation can not be completedpublic java.util.List<TabuSearch.Subset> bubbleSubsetSort(java.util.List<TabuSearch.Subset> subsetList)
subsetList
- the subsetList to be ordered
public TabuSearch.Subset joinSubsets(TabuSearch.Subset subset1, TabuSearch.Subset subset2) throws java.lang.Exception
subset1
- one of the subsetssubset2
- the other subset
java.lang.Exception
- if the evaluation of the subsets can not be completedpublic int[] attributeList(java.util.BitSet group)
group
- the BitSet to convert
public java.lang.String printSubset(TabuSearch.Subset subset)
public java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface TechnicalInformationHandler
public java.lang.String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class ASSearch
public java.lang.String seedTipText()
public void setSeed(int s)
s
- seed valuepublic int getSeed()
public java.lang.String diversificationProbTipText()
public void setDiversificationProb(double p)
p
- the probability of change of search subspace in an abrupt waypublic double getDiversificationProb()
public java.lang.String numNeighborhoodTipText()
public void setNumNeighborhood(int n)
n
- the number of neighborhoodpublic int getNumNeighborhood()
public java.lang.String initialSizeTipText()
public void setInitialSize(int n)
n
- the number of attributespublic int getInitialSize()
public java.util.Enumeration listOptions()
OptionHandler
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-Z <numInitialSolution> Specify the number of attributes in the initial Solution..
-P <diversificationProb> Specify the diversification probabilities, if this value is near to 0 then the best attributes will have more probabilities of keeping in the new diverse solution
-S <seed> Set the random number seed. (default = 1)
-N <number of neighbors> Set the number of neighbors to generate.
setOptions
in interface OptionHandler
options
- the list of options as an array of strings
java.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |