Package weka.classifiers.bayes.net
Class BIFReader
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.bayes.BayesNet
-
- weka.classifiers.bayes.net.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
-
-
Field Summary
-
Fields inherited from class weka.classifiers.bayes.BayesNet
m_Distributions, m_Instances
-
Fields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE
-
-
Constructor Summary
Constructors Constructor Description BIFReader()
the default constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 xint
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.java.lang.String
getContent(org.w3c.dom.Element node)
Returns all TEXT children of the given node in one string.java.lang.String
getFileName()
returns the current filenameint
getNode(java.lang.String sNodeName)
getNode finds the index of the node with name sNodeName and throws an exception if no such node can be found.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.static void
main(java.lang.String[] args)
Loads the file specified as first parameter and prints it to stdout.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.BIFReader
processFile(java.lang.String sFile)
processFile reads a BIFXML file and initializes a Bayes NetBIFReader
processString(java.lang.String sStr)
int
reversedArcs(BayesNet other)
Count nr of reversed arcs from other network compared to current networkvoid
Sync(BayesNet other)
synchronizes the node ordering of this Bayes network with those in the other network (if possible).-
Methods inherited from class weka.classifiers.bayes.BayesNet
BIFFileTipText, buildClassifier, buildStructure, countsForInstance, distributionForInstance, enumerateMeasures, estimateCPTs, estimatorTipText, getADTree, getBIFFile, getBIFHeader, getCapabilities, getCardinality, getDistributions, getEstimator, getMeasure, getName, getNodeName, getNodeValue, getNrOfNodes, getNrOfParents, getOptions, getParent, getParentCardinality, getParentSet, getParentSets, getProbability, getSearchAlgorithm, getUseADTree, graph, graphType, initCPTs, initStructure, listOptions, measureAICScore, measureBayesScore, measureBDeuScore, measureDivergence, measureEntropyScore, measureExtraArcs, measureMDLScore, measureMissingArcs, measureReversedArcs, partitionOptions, searchAlgorithmTipText, setBIFFile, setEstimator, setOptions, setSearchAlgorithm, setUseADTree, toString, toXMLBIF03, updateClassifier, useADTreeTipText
-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
This will return a string describing the classifier.- Overrides:
globalInfo
in classBayesNet
- 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 interfaceTechnicalInformationHandler
- 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
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classBayesNet
- Returns:
- the revision
-
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
-
-