Class BIFReader

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, AdditionalMeasureProducer, CapabilitiesHandler, 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: 1.15 $
    Author:
    Remco Bouckaert (rrb@xm.co.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • BIFReader

        public BIFReader()
        the default constructor
    • Method Detail

      • globalInfo

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

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

        public BIFReader processString​(java.lang.String sStr)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getFileName

        public java.lang.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 java.lang.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:
        java.lang.Exception - if nr of attributes differs or not all of the variables have the same name.
      • getContent

        public java.lang.String getContent​(org.w3c.dom.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​(java.lang.String sNodeName)
                    throws java.lang.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:
        java.lang.Exception - if node cannot be found
      • main

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