public class K2 extends LocalScoreSearchAlgorithm 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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES] Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
TAGS_SCORE_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 |
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
|
buildStructure, calcNodeScore, calcScoreWithExtraParent, calcScoreWithMissingParent, getMarkovBlanketClassifier, getScoreType, logScore, markovBlanketClassifierTipText, scoreTypeTipText, setMarkovBlanketClassifier, setScoreType
initAsNaiveBayesTipText, maxNrOfParentsTipText, toString
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface TechnicalInformationHandler
public 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 listOptions()
listOptions
in interface OptionHandler
listOptions
in class LocalScoreSearchAlgorithm
public 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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES] Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
setOptions
in interface OptionHandler
setOptions
in class LocalScoreSearchAlgorithm
options
- the list of options as an array of stringsjava.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
getOptions
in class LocalScoreSearchAlgorithm
public java.lang.String globalInfo()
globalInfo
in class LocalScoreSearchAlgorithm
public java.lang.String randomOrderTipText()
public java.lang.String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class LocalScoreSearchAlgorithm