weka.classifiers.bayes.net.search.local
Class K2

java.lang.Object
  extended byweka.classifiers.bayes.net.search.SearchAlgorithm
      extended byweka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
          extended byweka.classifiers.bayes.net.search.local.K2
All Implemented Interfaces:
OptionHandler, java.io.Serializable

public class K2
extends LocalScoreSearchAlgorithm

Class for a Bayes Network classifier based on K2 for learning structure. K2 is a hill climbing algorihtm by Greg Cooper and Ed Herskovitz, Proceedings Uncertainty in Artificial Intelligence, 1991, Also in Machine Learning, 1992 pages 309-347. Works with nominal variables and no missing values only.

Version:
$Revision: 1.1 $
Author:
Remco Bouckaert (rrb@xm.co.nz)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
TAGS_SCORE_TYPE
 
Constructor Summary
K2()
           
 
Method Summary
 void buildStructure(BayesNet bayesNet, Instances instances)
          buildStructure 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.
 boolean getInitAsNaiveBayes()
          Method declaration
 int getMaxNrOfParents()
          Method declaration
 java.lang.String[] getOptions()
          Gets the current settings of the search algorithm.
 boolean getRandomOrder()
          Get random order flag
 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 setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
          Method declaration
 void setMaxNrOfParents(int nMaxNrOfParents)
          Method declaration
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 void setRandomOrder(boolean bRandomOrder)
          Set random order flag
 
Methods inherited from class weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
calcNodeScore, calcScoreWithExtraParent, calcScoreWithMissingParent, getScoreType, logScore, scoreTypeTipText, setScoreType
 
Methods inherited from class weka.classifiers.bayes.net.search.SearchAlgorithm
getMarkovBlanketClassifier, initAsNaiveBayesTipText, markovBlanketClassifierTipText, maxNrOfParentsTipText, setMarkovBlanketClassifier, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

K2

public K2()
Method Detail

buildStructure

public void buildStructure(BayesNet bayesNet,
                           Instances instances)
                    throws java.lang.Exception
buildStructure 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.

Overrides:
buildStructure in class LocalScoreSearchAlgorithm
Throws:
java.lang.Exception

setMaxNrOfParents

public void setMaxNrOfParents(int nMaxNrOfParents)
Method declaration

Parameters:
nMaxNrOfParents -

getMaxNrOfParents

public int getMaxNrOfParents()
Method declaration

Returns:

setInitAsNaiveBayes

public void setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
Method declaration

Parameters:
bInitAsNaiveBayes -

getInitAsNaiveBayes

public boolean getInitAsNaiveBayes()
Method declaration

Returns:

setRandomOrder

public void setRandomOrder(boolean bRandomOrder)
Set random order flag

Parameters:
bRandomOrder -

getRandomOrder

public boolean getRandomOrder()
Get random order flag


listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.

Specified by:
listOptions in interface OptionHandler
Overrides:
listOptions in class LocalScoreSearchAlgorithm
Returns:
an enumeration of all the available options.

setOptions

public void setOptions(java.lang.String[] options)
                throws java.lang.Exception
Parses a given list of options. Valid options are:

-R Set the random order to true (default false).

For other options see search algorithm.

Specified by:
setOptions in interface OptionHandler
Overrides:
setOptions in class LocalScoreSearchAlgorithm
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:
getOptions in interface OptionHandler
Overrides:
getOptions in class LocalScoreSearchAlgorithm
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.

Returns:
The string.

randomOrderTipText

public java.lang.String randomOrderTipText()
Returns:
a string to describe the RandomOrder option.