| weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm weka.classifiers.bayes.net.search.local.HillClimber weka.classifiers.bayes.net.search.local.LAGDHillClimber
LAGDHillClimber | public class LAGDHillClimber extends HillClimber (Code) | |
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)
author: Manuel Neubach version: $Revision: 1.6 $ |
m_nNrOfGoodOperations | int m_nNrOfGoodOperations(Code) | | Number of Good Operations per Step *
|
m_nNrOfLookAheadSteps | int m_nNrOfLookAheadSteps(Code) | | Number of Look Ahead Steps *
|
serialVersionUID | final static long serialVersionUID(Code) | | for serialization
|
getAntiOperation | protected Operation getAntiOperation(Operation oOperation) throws Exception(Code) | | getAntiOperation determines the Operation, which is needed to cancel oOperation
Parameters: oOperation - Operation to cancel antiOperation to oOperation throws: Exception - if something goes wrong |
getGoodOperations | protected Operation[] getGoodOperations(BayesNet bayesNet, Instances instances, int nrOfGoodOperations) throws Exception(Code) | | getGoodOperations determines the nrOfGoodOperations best Operations, which are considered for
the calculation of an optimal operationsequence
Parameters: bayesNet - Bayes network to apply operation on Parameters: instances - data set to learn from Parameters: nrOfGoodOperations - number of good operations to consider good operations to consider throws: Exception - if something goes wrong |
getMaxNrOfParents | public int getMaxNrOfParents()(Code) | | Gets the max number of parents.
the max number of parents |
getNrOfGoodOperations | public int getNrOfGoodOperations()(Code) | | Gets the number of "good operations"
the number of "good operations" |
getNrOfLookAheadSteps | public int getNrOfLookAheadSteps()(Code) | | Gets the number of look-ahead steps
the number of look-ahead step |
getOptimalOperations | protected Operation[] getOptimalOperations(BayesNet bayesNet, Instances instances, int nrOfLookAheadSteps, int nrOfGoodOperations) throws Exception(Code) | | getOptimalOperations determines an optimal operationsequence in respect of the parameters
nrOfLookAheadSteps and nrOfGoodOperations
Parameters: bayesNet - Bayes network to apply operation on Parameters: instances - data set to learn from Parameters: nrOfLookAheadSteps - number of lood ahead steps to use Parameters: nrOfGoodOperations - number of good operations to consider optimal sequence of operations in respect to nrOfLookAheadSteps and nrOfGoodOperations throws: Exception - if something goes wrong |
getOptions | public String[] getOptions()(Code) | | Gets the current settings of the search algorithm.
an array of strings suitable for passing to setOptions |
globalInfo | public String globalInfo()(Code) | | This will return a string describing the search algorithm.
The string. |
listOptions | public Enumeration listOptions()(Code) | | Returns an enumeration describing the available options.
an enumeration of all the available options. |
lookAheadInGoodDirectionsSearch | protected void lookAheadInGoodDirectionsSearch(BayesNet bayesNet, Instances instances, int nrOfLookAheadSteps, int nrOfGoodOperations) throws Exception(Code) | | lookAheadInGoodDirectionsSearch determines the network structure/graph of the network
with best score according to LAGD Hill Climbing
Parameters: bayesNet - the network Parameters: instances - the data to use Parameters: nrOfLookAheadSteps - Parameters: nrOfGoodOperations - throws: Exception - if something goes wrong |
nrOfGoodOperationsTipText | public String nrOfGoodOperationsTipText()(Code) | | a string to describe the Number of Good Operations option. |
nrOfLookAheadStepsTipText | public String nrOfLookAheadStepsTipText()(Code) | | a string to describe the Number of Look Ahead Steps option. |
search | protected void search(BayesNet bayesNet, Instances instances) throws Exception(Code) | | search determines the network structure/graph of the network
Parameters: bayesNet - the network Parameters: instances - the data to use throws: Exception - if something goes wrong |
setMaxNrOfParents | public void setMaxNrOfParents(int nMaxNrOfParents)(Code) | | Sets the max number of parents
Parameters: nMaxNrOfParents - the max number of parents |
setNrOfGoodOperations | public void setNrOfGoodOperations(int nNrOfGoodOperations)(Code) | | Sets the number of "good operations"
Parameters: nNrOfGoodOperations - the number of "good operations" |
setNrOfLookAheadSteps | public void setNrOfLookAheadSteps(int nNrOfLookAheadSteps)(Code) | | Sets the number of look-ahead steps
Parameters: nNrOfLookAheadSteps - the number of look-ahead steps |
setOptions | public void setOptions(String[] options) throws Exception(Code) | | Parses 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)
Parameters: options - the list of options as an array of strings throws: Exception - if an option is not supported |
Methods inherited from weka.classifiers.bayes.net.search.local.HillClimber | void applyArcAddition(BayesNet bayesNet, int iHead, int iTail, Instances instances)(Code)(Java Doc) void applyArcDeletion(BayesNet bayesNet, int iHead, int iTail, Instances instances)(Code)(Java Doc) Operation findBestArcToAdd(BayesNet bayesNet, Instances instances, Operation oBestOperation)(Code)(Java Doc) Operation findBestArcToDelete(BayesNet bayesNet, Instances instances, Operation oBestOperation)(Code)(Java Doc) Operation findBestArcToReverse(BayesNet bayesNet, Instances instances, Operation oBestOperation)(Code)(Java Doc) public boolean getInitAsNaiveBayes()(Code)(Java Doc) public int getMaxNrOfParents()(Code)(Java Doc) Operation getOptimalOperation(BayesNet bayesNet, Instances instances) throws Exception(Code)(Java Doc) public String[] getOptions()(Code)(Java Doc) public boolean getUseArcReversal()(Code)(Java Doc) public String globalInfo()(Code)(Java Doc) void initCache(BayesNet bayesNet, Instances instances) throws Exception(Code)(Java Doc) boolean isNotTabu(Operation oOperation)(Code)(Java Doc) public Enumeration listOptions()(Code)(Java Doc) void performOperation(BayesNet bayesNet, Instances instances, Operation oOperation) throws Exception(Code)(Java Doc) protected void search(BayesNet bayesNet, Instances instances) throws Exception(Code)(Java Doc) public void setInitAsNaiveBayes(boolean bInitAsNaiveBayes)(Code)(Java Doc) public void setMaxNrOfParents(int nMaxNrOfParents)(Code)(Java Doc) public void setOptions(String[] options) throws Exception(Code)(Java Doc) public void setUseArcReversal(boolean bUseArcReversal)(Code)(Java Doc) void updateCache(int iAttributeHead, int nNrOfAtts, ParentSet parentSet)(Code)(Java Doc) public String useArcReversalTipText()(Code)(Java Doc)
|
|
|