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

java.lang.Object
  extended by weka.classifiers.bayes.net.search.SearchAlgorithm
      extended by weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
          extended by weka.classifiers.bayes.net.search.local.TAN
All Implemented Interfaces:
java.io.Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class TAN
extends LocalScoreSearchAlgorithm
implements TechnicalInformationHandler

This Bayes Network learning algorithm determines the maximum weight spanning tree and returns a Naive Bayes network augmented with a tree.

For more information see:

N. Friedman, D. Geiger, M. Goldszmidt (1997). Bayesian network classifiers. Machine Learning. 29(2-3):131-163.

BibTeX:

 @article{Friedman1997,
    author = {N. Friedman and D. Geiger and M. Goldszmidt},
    journal = {Machine Learning},
    number = {2-3},
    pages = {131-163},
    title = {Bayesian network classifiers},
    volume = {29},
    year = {1997}
 }
 

Valid options are:

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

Version:
$Revision: 5334 $
Author:
Remco Bouckaert
See Also:
Serialized Form

Field Summary
 
Fields inherited from class weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
TAGS_SCORE_TYPE
 
Constructor Summary
TAN()
           
 
Method Summary
 void buildStructure(BayesNet bayesNet, Instances instances)
          buildStructure determines the network structure/graph of the network using the maximimum weight spanning tree algorithm of Chow and Liu
 java.lang.String[] getOptions()
          Gets the current settings of the Classifier.
 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 classifier.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options.
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 
Methods inherited from class weka.classifiers.bayes.net.search.local.LocalScoreSearchAlgorithm
calcNodeScore, calcScoreWithExtraParent, calcScoreWithMissingParent, getMarkovBlanketClassifier, getScoreType, logScore, markovBlanketClassifierTipText, scoreTypeTipText, setMarkovBlanketClassifier, setScoreType
 
Methods inherited from class weka.classifiers.bayes.net.search.SearchAlgorithm
initAsNaiveBayesTipText, maxNrOfParentsTipText, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TAN

public TAN()
Method Detail

getTechnicalInformation

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

Specified by:
getTechnicalInformation in interface TechnicalInformationHandler
Returns:
the technical information about this class

buildStructure

public void buildStructure(BayesNet bayesNet,
                           Instances instances)
                    throws java.lang.Exception
buildStructure determines the network structure/graph of the network using the maximimum weight spanning tree algorithm of Chow and Liu

Overrides:
buildStructure in class LocalScoreSearchAlgorithm
Parameters:
bayesNet - the network
instances - the data to use
Throws:
java.lang.Exception - if something goes wrong

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:

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

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

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

Overrides:
globalInfo in class LocalScoreSearchAlgorithm
Returns:
The string.

getRevision

public java.lang.String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Overrides:
getRevision in class LocalScoreSearchAlgorithm
Returns:
the revision