Class TabuSearch
java.lang.Object
weka.classifiers.bayes.net.search.SearchAlgorithm
weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
weka.classifiers.bayes.net.search.global.HillClimber
weka.classifiers.bayes.net.search.global.TabuSearch
- All Implemented Interfaces:
Serializable
,OptionHandler
,RevisionHandler
,TechnicalInformationHandler
This Bayes Network learning algorithm uses tabu
search for finding a well scoring Bayes network structure. Tabu search is
hill climbing till an optimum is reached. The following step is the least
worst possible step. The last X steps are kept in a list and none of the
steps in this so called tabu list is considered in taking the next step. The
best network found in this traversal is returned.
For more information see:
R.R. Bouckaert (1995). Bayesian Belief Networks: from Construction to Inference. Utrecht, Netherlands. BibTeX:
For more information see:
R.R. Bouckaert (1995). Bayesian Belief Networks: from Construction to Inference. Utrecht, Netherlands. BibTeX:
@phdthesis{Bouckaert1995, address = {Utrecht, Netherlands}, author = {R.R. Bouckaert}, institution = {University of Utrecht}, title = {Bayesian Belief Networks: from Construction to Inference}, year = {1995} }Valid options are:
-L <integer> Tabu list length
-U <integer> Number of runs
-P <nr of parents> Maximum number of parents
-R Use arc reversal operation. (default false)
-P <nr of parents> Maximum number of parents
-R Use arc reversal operation. (default false)
-N Initial structure is empty (instead of Naive Bayes)
-mbc Applies a Markov Blanket correction to the network structure, after a network structure is learned. This ensures that all nodes in the network are part of the Markov blanket of the classifier node.
-S [LOO-CV|k-Fold-CV|Cumulative-CV] Score type (LOO-CV,k-Fold-CV,Cumulative-CV)
-Q Use probabilistic or 0/1 scoring. (default probabilistic scoring)
- Version:
- $Revision: 10154 $
- Author:
- Remco Bouckaert (rrb@xm.co.nz)
- See Also:
-
Field Summary
Fields inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
TAGS_CV_TYPE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionString[]
Gets the current settings of the search algorithm.Returns the revision string.int
getRuns()
int
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.This will return a string describing the classifier.Returns an enumeration describing the available options.void
setOptions
(String[] options) Parses a given list of options.void
setRuns
(int nRuns) Sets the number of runsvoid
setTabuList
(int nTabuList) Sets the Tabu List length.Methods inherited from class weka.classifiers.bayes.net.search.global.HillClimber
getInitAsNaiveBayes, getMaxNrOfParents, getUseArcReversal, setInitAsNaiveBayes, setMaxNrOfParents, setUseArcReversal, useArcReversalTipText
Methods inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
calcScore, calcScoreWithExtraParent, calcScoreWithMissingParent, calcScoreWithReversedParent, cumulativeCV, CVTypeTipText, getCVType, getMarkovBlanketClassifier, getUseProb, kFoldCV, leaveOneOutCV, markovBlanketClassifierTipText, setCVType, setMarkovBlanketClassifier, setUseProb, useProbTipText
Methods inherited from class weka.classifiers.bayes.net.search.SearchAlgorithm
buildStructure, initAsNaiveBayesTipText, maxNrOfParentsTipText, toString
-
Constructor Details
-
TabuSearch
public TabuSearch()
-
-
Method Details
-
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 interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
getRuns
public int getRuns()- Returns:
- number of runs
-
setRuns
public void setRuns(int nRuns) Sets the number of runs- Parameters:
nRuns
- The number of runs to set
-
getTabuList
public int getTabuList()- Returns:
- the Tabu List length
-
setTabuList
public void setTabuList(int nTabuList) Sets the Tabu List length.- Parameters:
nTabuList
- The nTabuList to set
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classHillClimber
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-L <integer> Tabu list length
-U <integer> Number of runs
-P <nr of parents> Maximum number of parents
-R Use arc reversal operation. (default false)
-P <nr of parents> Maximum number of parents
-R Use arc reversal operation. (default false)
-N Initial structure is empty (instead of Naive Bayes)
-mbc Applies a Markov Blanket correction to the network structure, after a network structure is learned. This ensures that all nodes in the network are part of the Markov blanket of the classifier node.
-S [LOO-CV|k-Fold-CV|Cumulative-CV] Score type (LOO-CV,k-Fold-CV,Cumulative-CV)
-Q Use probabilistic or 0/1 scoring. (default probabilistic scoring)
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classHillClimber
- 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 the search algorithm.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classHillClimber
- Returns:
- an array of strings suitable for passing to setOptions
-
globalInfo
This will return a string describing the classifier.- Overrides:
globalInfo
in classHillClimber
- Returns:
- The string.
-
runsTipText
- Returns:
- a string to describe the Runs option.
-
tabuListTipText
- Returns:
- a string to describe the TabuList option.
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classHillClimber
- Returns:
- the revision
-