Class LAGDHillClimber
- java.lang.Object
-
- weka.classifiers.bayes.net.search.SearchAlgorithm
-
- weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
-
- weka.classifiers.bayes.net.search.local.HillClimber
-
- weka.classifiers.bayes.net.search.local.LAGDHillClimber
-
- All Implemented Interfaces:
java.io.Serializable,OptionHandler,RevisionHandler
public class LAGDHillClimber extends HillClimber
This Bayes Network learning algorithm uses a Look Ahead Hill Climbing algorithm called LAGD Hill Climbing. Unlike Greedy Hill Climbing it doesn't calculate a best greedy operation (adding, deleting or reversing an arc) but a sequence of nrOfLookAheadSteps operations, which leads to a network structure whose score is most likely higher in comparison to the network obtained by performing a sequence of nrOfLookAheadSteps greedy operations. 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:-L <nr of look ahead steps> Look Ahead Depth
-G <nr of good operations> Nr of Good Operations
-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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES] Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
- Version:
- $Revision: 1.7 $
- Author:
- Manuel Neubach
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
TAGS_SCORE_TYPE
-
-
Constructor Summary
Constructors Constructor Description LAGDHillClimber()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetMaxNrOfParents()Gets the max number of parents.intgetNrOfGoodOperations()Gets the number of "good operations"intgetNrOfLookAheadSteps()Gets the number of look-ahead stepsjava.lang.String[]getOptions()Gets the current settings of the search algorithm.java.lang.StringgetRevision()Returns the revision string.java.lang.StringglobalInfo()This will return a string describing the search algorithm.java.util.EnumerationlistOptions()Returns an enumeration describing the available options.java.lang.StringnrOfGoodOperationsTipText()java.lang.StringnrOfLookAheadStepsTipText()voidsetMaxNrOfParents(int nMaxNrOfParents)Sets the max number of parentsvoidsetNrOfGoodOperations(int nNrOfGoodOperations)Sets the number of "good operations"voidsetNrOfLookAheadSteps(int nNrOfLookAheadSteps)Sets the number of look-ahead stepsvoidsetOptions(java.lang.String[] options)Parses a given list of options.-
Methods inherited from class weka.classifiers.bayes.net.search.local.HillClimber
getInitAsNaiveBayes, getUseArcReversal, setInitAsNaiveBayes, setUseArcReversal, useArcReversalTipText
-
Methods inherited from class weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
buildStructure, calcNodeScore, calcScoreWithExtraParent, calcScoreWithMissingParent, getMarkovBlanketClassifier, getScoreType, logScore, markovBlanketClassifierTipText, scoreTypeTipText, setMarkovBlanketClassifier, setScoreType
-
Methods inherited from class weka.classifiers.bayes.net.search.SearchAlgorithm
initAsNaiveBayesTipText, maxNrOfParentsTipText, toString
-
-
-
-
Method Detail
-
setMaxNrOfParents
public void setMaxNrOfParents(int nMaxNrOfParents)
Sets the max number of parents- Overrides:
setMaxNrOfParentsin classHillClimber- Parameters:
nMaxNrOfParents- the max number of parents
-
getMaxNrOfParents
public int getMaxNrOfParents()
Gets the max number of parents.- Overrides:
getMaxNrOfParentsin classHillClimber- Returns:
- the max number of parents
-
setNrOfLookAheadSteps
public void setNrOfLookAheadSteps(int nNrOfLookAheadSteps)
Sets the number of look-ahead steps- Parameters:
nNrOfLookAheadSteps- the number of look-ahead steps
-
getNrOfLookAheadSteps
public int getNrOfLookAheadSteps()
Gets the number of look-ahead steps- Returns:
- the number of look-ahead step
-
setNrOfGoodOperations
public void setNrOfGoodOperations(int nNrOfGoodOperations)
Sets the number of "good operations"- Parameters:
nNrOfGoodOperations- the number of "good operations"
-
getNrOfGoodOperations
public int getNrOfGoodOperations()
Gets the number of "good operations"- Returns:
- the number of "good operations"
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classHillClimber- 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:Valid options are:
-L <nr of look ahead steps> Look Ahead Depth
-G <nr of good operations> Nr of Good Operations
-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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES] Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classHillClimber- 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 classHillClimber- Returns:
- an array of strings suitable for passing to setOptions
-
globalInfo
public java.lang.String globalInfo()
This will return a string describing the search algorithm.- Overrides:
globalInfoin classHillClimber- Returns:
- The string.
-
nrOfLookAheadStepsTipText
public java.lang.String nrOfLookAheadStepsTipText()
- Returns:
- a string to describe the Number of Look Ahead Steps option.
-
nrOfGoodOperationsTipText
public java.lang.String nrOfGoodOperationsTipText()
- Returns:
- a string to describe the Number of Good Operations option.
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classHillClimber- Returns:
- the revision
-
-