weka.classifiers.bayes.net.search.global

## Class TAN

- java.lang.Object
- - weka.classifiers.bayes.net.search.SearchAlgorithm
  - - weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
    - - weka.classifiers.bayes.net.search.global.TAN

- All Implemented Interfaces:
    java.io.Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler

      public class TAN
      extends GlobalScoreSearchAlgorithm
      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 [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)

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

- - ### Field Summary

    - ### Fields inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm

      `TAGS_CV_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TAN()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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<Option>` | `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.global.GlobalScoreSearchAlgorithm

      `calcScore, calcScoreWithExtraParent, calcScoreWithMissingParent, calcScoreWithReversedParent, cumulativeCV, CVTypeTipText, getCVType, getMarkovBlanketClassifier, getUseProb, kFoldCV, leaveOneOutCV, markovBlanketClassifierTipText, setCVType, setMarkovBlanketClassifier, setUseProb, useProbTipText`

    - ### 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 `SearchAlgorithm`
      Parameters:
        `bayesNet` -
        `instances` -
      Throws:
        `java.lang.Exception` - if something goes wrong

    - #### listOptions

          public java.util.Enumeration<Option> listOptions()

      Returns an enumeration describing the available options.
      Specified by:
        `listOptions` in interface `OptionHandler`
      Overrides:
        `listOptions` in class `GlobalScoreSearchAlgorithm`
      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 [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)

      Specified by:
        `setOptions` in interface `OptionHandler`
      Overrides:
        `setOptions` in class `GlobalScoreSearchAlgorithm`
      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 `GlobalScoreSearchAlgorithm`
      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 `GlobalScoreSearchAlgorithm`
      Returns:
        The string.

    - #### getRevision

          public java.lang.String getRevision()

      Returns the revision string.
      Specified by:
        `getRevision` in interface `RevisionHandler`
      Overrides:
        `getRevision` in class `GlobalScoreSearchAlgorithm`
      Returns:
        the revision