public class K2 extends GlobalScoreSearchAlgorithm implements TechnicalInformationHandler
@proceedings{Cooper1990,
author = {G.F. Cooper and E. Herskovits},
booktitle = {Proceedings of the Conference on Uncertainty in AI},
pages = {86-94},
title = {A Bayesian method for constructing Bayesian belief networks from databases},
year = {1990}
}
@article{Cooper1992,
author = {G. Cooper and E. Herskovits},
journal = {Machine Learning},
number = {4},
pages = {309-347},
title = {A Bayesian method for the induction of probabilistic networks from data},
volume = {9},
year = {1992}
}
Valid options are:
-N Initial structure is empty (instead of Naive Bayes)
-P <nr of parents> Maximum number of parents
-R Random order. (default false)
-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)
TAGS_CV_TYPE| Constructor and Description |
|---|
K2() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
getInitAsNaiveBayes()
Gets whether to init as naive bayes
|
int |
getMaxNrOfParents()
Gets the max number of parents.
|
java.lang.String[] |
getOptions()
Gets the current settings of the search algorithm.
|
boolean |
getRandomOrder()
Get random order flag
|
java.lang.String |
getRevision()
Returns the revision string.
|
TechnicalInformation |
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.
|
java.lang.String |
globalInfo()
This will return a string describing the search algorithm.
|
java.util.Enumeration<Option> |
listOptions()
Returns an enumeration describing the available options.
|
java.lang.String |
randomOrderTipText() |
void |
search(BayesNet bayesNet,
Instances instances)
search determines the network structure/graph of the network with the K2
algorithm, restricted by its initial structure (which can be an empty
graph, or a Naive Bayes graph.
|
void |
setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
Sets whether to init as naive bayes
|
void |
setMaxNrOfParents(int nMaxNrOfParents)
Sets the max number of parents
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
void |
setRandomOrder(boolean bRandomOrder)
Set random order flag
|
calcScore, calcScoreWithExtraParent, calcScoreWithMissingParent, calcScoreWithReversedParent, cumulativeCV, CVTypeTipText, getCVType, getMarkovBlanketClassifier, getUseProb, kFoldCV, leaveOneOutCV, markovBlanketClassifierTipText, setCVType, setMarkovBlanketClassifier, setUseProb, useProbTipTextbuildStructure, initAsNaiveBayesTipText, maxNrOfParentsTipText, toStringpublic TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface TechnicalInformationHandlerpublic void search(BayesNet bayesNet, Instances instances) throws java.lang.Exception
bayesNet - the networkinstances - the data to work withjava.lang.Exception - if something goes wrongpublic void setMaxNrOfParents(int nMaxNrOfParents)
nMaxNrOfParents - the max number of parentspublic int getMaxNrOfParents()
public void setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
bInitAsNaiveBayes - whether to init as naive bayespublic boolean getInitAsNaiveBayes()
public void setRandomOrder(boolean bRandomOrder)
bRandomOrder - the random order flagpublic boolean getRandomOrder()
public java.util.Enumeration<Option> listOptions()
listOptions in interface OptionHandlerlistOptions in class GlobalScoreSearchAlgorithmpublic void setOptions(java.lang.String[] options)
throws java.lang.Exception
-N Initial structure is empty (instead of Naive Bayes)
-P <nr of parents> Maximum number of parents
-R Random order. (default false)
-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)
setOptions in interface OptionHandlersetOptions in class GlobalScoreSearchAlgorithmoptions - the list of options as an array of stringsjava.lang.Exception - if an option is not supportedpublic java.lang.String[] getOptions()
getOptions in interface OptionHandlergetOptions in class GlobalScoreSearchAlgorithmpublic java.lang.String randomOrderTipText()
public java.lang.String globalInfo()
globalInfo in class GlobalScoreSearchAlgorithmpublic java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class GlobalScoreSearchAlgorithm