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 boolean
getInitAsNaiveBayes()
Gets whether to init as naive bayesint
getMaxNrOfParents()
Gets the max number of parents.java.lang.String[]
getOptions()
Gets the current settings of the search algorithm.java.lang.String
getRevision()
Returns the revision string.boolean
getUseArcReversal()
get use the arc reversal operationjava.lang.String
globalInfo()
This will return a string describing the search algorithm.java.util.Enumeration
listOptions()
Returns an enumeration describing the available options.void
setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
Sets whether to init as naive bayesvoid
setMaxNrOfParents(int nMaxNrOfParents)
Sets the max number of parentsvoid
setOptions(java.lang.String[] options)
Parses a given list of options.void
setUseArcReversal(boolean bUseArcReversal)
set use the arc reversal operationjava.lang.String
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
-
-
-
-
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:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classGlobalScoreSearchAlgorithm
- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.Exception
Parses 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:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in 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:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in 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:
globalInfo
in 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:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classGlobalScoreSearchAlgorithm
- Returns:
- the revision
-
-