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 | 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 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