Class BIFReader

All Implemented Interfaces:
Serializable, Cloneable, Classifier, AdditionalMeasureProducer, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, Drawable, OptionHandler, RevisionHandler, TechnicalInformationHandler, WeightedInstancesHandler

public class BIFReader extends BayesNet implements TechnicalInformationHandler
Builds a description of a Bayes Net classifier stored in XML BIF 0.3 format.

For more details on XML BIF see:

Fabio Cozman, Marek Druzdzel, Daniel Garcia (1998). XML BIF version 0.3. URL http://www-2.cs.cmu.edu/~fgcozman/Research/InterchangeFormat/.

BibTeX:

 @misc{Cozman1998,
    author = {Fabio Cozman and Marek Druzdzel and Daniel Garcia},
    title = {XML BIF version 0.3},
    year = {1998},
    URL = {http://www-2.cs.cmu.edu/\~fgcozman/Research/InterchangeFormat/}
 }
 

Valid options are:

 -D
  Do not use ADTree data structure
 
 -B <BIF file>
  BIF file to compare with
 
 -Q weka.classifiers.bayes.net.search.SearchAlgorithm
  Search algorithm
 
 -E weka.classifiers.bayes.net.estimate.SimpleEstimator
  Estimator algorithm
 
Version:
$Revision: 10153 $
Author:
Remco Bouckaert (rrb@xm.co.nz)
See Also:
  • Constructor Details

    • BIFReader

      public BIFReader()
      the default constructor
  • Method Details

    • globalInfo

      public String globalInfo()
      This will return a string describing the classifier.
      Overrides:
      globalInfo in class BayesNet
      Returns:
      The string.
    • processFile

      public BIFReader processFile(String sFile) throws Exception
      processFile reads a BIFXML file and initializes a Bayes Net
      Parameters:
      sFile - name of the file to parse
      Returns:
      the BIFReader
      Throws:
      Exception - if processing fails
    • processString

      public BIFReader processString(String sStr) throws Exception
      Throws:
      Exception
    • getFileName

      public String getFileName()
      returns the current filename
      Returns:
      the current filename
    • 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
    • Sync

      public void Sync(BayesNet other) throws Exception
      synchronizes the node ordering of this Bayes network with those in the other network (if possible).
      Parameters:
      other - Bayes network to synchronize with
      Throws:
      Exception - if nr of attributes differs or not all of the variables have the same name.
    • getContent

      public String getContent(Element node)
      Returns all TEXT children of the given node in one string. Between the node values new lines are inserted.
      Parameters:
      node - the node to return the content for
      Returns:
      the content of the node
    • missingArcs

      public int missingArcs(BayesNet other)
      Count nr of arcs missing from other network compared to current network Note that an arc is not 'missing' if it is reversed.
      Parameters:
      other - network to compare with
      Returns:
      nr of missing arcs
    • extraArcs

      public int extraArcs(BayesNet other)
      Count nr of exta arcs from other network compared to current network Note that an arc is not 'extra' if it is reversed.
      Parameters:
      other - network to compare with
      Returns:
      nr of missing arcs
    • divergence

      public double divergence(BayesNet other)
      calculates the divergence between the probability distribution represented by this network and that of another, that is, \sum_{x\in X} P(x)log P(x)/Q(x) where X is the set of values the nodes in the network can take, P(x) the probability of this network for configuration x Q(x) the probability of the other network for configuration x
      Parameters:
      other - network to compare with
      Returns:
      divergence between this and other Bayes Network
    • reversedArcs

      public int reversedArcs(BayesNet other)
      Count nr of reversed arcs from other network compared to current network
      Parameters:
      other - network to compare with
      Returns:
      nr of missing arcs
    • getNode

      public int getNode(String sNodeName) throws Exception
      getNode finds the index of the node with name sNodeName and throws an exception if no such node can be found.
      Parameters:
      sNodeName - name of the node to get the index from
      Returns:
      index of the node with name sNodeName
      Throws:
      Exception - if node cannot be found
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class BayesNet
      Returns:
      the revision
    • main

      public static void main(String[] args)
      Loads the file specified as first parameter and prints it to stdout.
      Parameters:
      args - the command line parameters