Class HillClimber
- java.lang.Object
-
- weka.classifiers.bayes.net.search.SearchAlgorithm
-
- weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
-
- weka.classifiers.bayes.net.search.global.HillClimber
-
- All Implemented Interfaces:
java.io.Serializable,OptionHandler,RevisionHandler
- Direct Known Subclasses:
RepeatedHillClimber,TabuSearch
public class HillClimber extends GlobalScoreSearchAlgorithm
This Bayes Network learning algorithm uses a hill climbing algorithm adding, deleting and reversing arcs. The search is not restricted by an order on the variables (unlike K2). The difference with B and B2 is that this hill climber also considers arrows part of the naive Bayes structure for deletion. Valid options are:-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: 1.9 $
- Author:
- Remco Bouckaert (rrb@xm.co.nz)
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
TAGS_CV_TYPE
-
-
Constructor Summary
Constructors Constructor Description HillClimber()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleangetInitAsNaiveBayes()Gets whether to init as naive bayesintgetMaxNrOfParents()Gets the max number of parents.java.lang.String[]getOptions()Gets the current settings of the search algorithm.java.lang.StringgetRevision()Returns the revision string.booleangetUseArcReversal()get use the arc reversal operationjava.lang.StringglobalInfo()This will return a string describing the search algorithm.java.util.EnumerationlistOptions()Returns an enumeration describing the available options.voidsetInitAsNaiveBayes(boolean bInitAsNaiveBayes)Sets whether to init as naive bayesvoidsetMaxNrOfParents(int nMaxNrOfParents)Sets the max number of parentsvoidsetOptions(java.lang.String[] options)Parses a given list of options.voidsetUseArcReversal(boolean bUseArcReversal)set use the arc reversal operationjava.lang.StringuseArcReversalTipText()-
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
-
-
-
-
Method Detail
-
setMaxNrOfParents
public void setMaxNrOfParents(int nMaxNrOfParents)
Sets the max number of parents- Parameters:
nMaxNrOfParents- the max number of parents
-
getMaxNrOfParents
public int getMaxNrOfParents()
Gets the max number of parents.- Returns:
- the max number of parents
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classGlobalScoreSearchAlgorithm- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionParses a given list of options. Valid options are:-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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classGlobalScoreSearchAlgorithm- Parameters:
options- the list of options as an array of strings- Throws:
java.lang.Exception- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the search algorithm.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classGlobalScoreSearchAlgorithm- Returns:
- an array of strings suitable for passing to setOptions
-
setInitAsNaiveBayes
public void setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
Sets whether to init as naive bayes- Parameters:
bInitAsNaiveBayes- whether to init as naive bayes
-
getInitAsNaiveBayes
public boolean getInitAsNaiveBayes()
Gets whether to init as naive bayes- Returns:
- whether to init as naive bayes
-
getUseArcReversal
public boolean getUseArcReversal()
get use the arc reversal operation- Returns:
- whether the arc reversal operation should be used
-
setUseArcReversal
public void setUseArcReversal(boolean bUseArcReversal)
set use the arc reversal operation- Parameters:
bUseArcReversal- whether the arc reversal operation should be used
-
globalInfo
public java.lang.String globalInfo()
This will return a string describing the search algorithm.- Overrides:
globalInfoin classGlobalScoreSearchAlgorithm- Returns:
- The string.
-
useArcReversalTipText
public java.lang.String useArcReversalTipText()
- Returns:
- a string to describe the Use Arc Reversal option.
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classGlobalScoreSearchAlgorithm- Returns:
- the revision
-
-