Package weka.classifiers.bayes.net
Class BayesNetGenerator
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.bayes.BayesNet
-
- weka.classifiers.bayes.net.EditableBayesNet
-
- weka.classifiers.bayes.net.BayesNetGenerator
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,AdditionalMeasureProducer
,CapabilitiesHandler
,Drawable
,OptionHandler
,RevisionHandler
,WeightedInstancesHandler
public class BayesNetGenerator extends EditableBayesNet
Bayes Network learning using various search algorithms and quality measures.
Base class for a Bayes Network classifier. Provides datastructures (network structure, conditional probability distributions, etc.) and facilities common to Bayes Network learning algorithms like K2 and B.
For more information see:
http://www.cs.waikato.ac.nz/~remco/weka.pdf Valid options are:-B Generate network (instead of instances)
-N <integer> Nr of nodes
-A <integer> Nr of arcs
-M <integer> Nr of instances
-C <integer> Cardinality of the variables
-S <integer> Seed for random number generator
-F <file> The BIF file to obtain the structure from.
- Version:
- $Revision: 1.14 $
- 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 BayesNetGenerator()
Constructor for BayesNetGenerator.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateInstances()
GenerateInstances generates random instances sampling from the distribution represented by the Bayes network structure.void
generateRandomNetwork()
Generate random connected Bayesian network with discrete nodes having all the same cardinality.void
generateRandomNetworkStructure(int nNodes, int nArcs)
GenerateRandomNetworkStructure generate random connected Bayesian networkjava.lang.String[]
getOptions()
Gets the current settings of the classifier.java.lang.String
getRevision()
Returns the revision string.void
Init(int nNodes, int nValues)
Init defines a minimal Bayes net with no arcsjava.util.Enumeration
listOptions()
Returns an enumeration describing the available optionsstatic void
main(java.lang.String[] args)
Main methodvoid
setOptions(java.lang.String[] options)
Parses a given list of options.java.lang.String
toString()
Returns either the net (if BIF format) or the generated instances-
Methods inherited from class weka.classifiers.bayes.net.EditableBayesNet
addArc, addArc, addArc, addNode, addNode, addNodeValue, alignBottom, alignLeft, alignRight, alignTop, canRedo, canUndo, centerHorizontal, centerVertical, clearUndoStack, deleteArc, deleteArc, deleteNode, deleteNode, deleteSelection, delNodeValue, getChildren, getContent, getDistribution, getDistribution, getEvidence, getMargin, getNode, getNode2, getPositionX, getPositionY, getValueName, getValues, getValues, isChanged, isSaved, lastActionMsg, layoutGraph, paste, redo, renameNodeValue, setData, setDistribution, setDistribution, setEvidence, setMargin, setNodeName, setPosition, setPosition, spaceHorizontal, spaceVertical, toXMLBIF03, toXMLBIF03, undo
-
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, getParent, getParentCardinality, getParentSet, getParentSets, getProbability, getSearchAlgorithm, getUseADTree, globalInfo, graph, graphType, initCPTs, initStructure, measureAICScore, measureBayesScore, measureBDeuScore, measureDivergence, measureEntropyScore, measureExtraArcs, measureMDLScore, measureMissingArcs, measureReversedArcs, partitionOptions, searchAlgorithmTipText, setBIFFile, setEstimator, setSearchAlgorithm, setUseADTree, updateClassifier, useADTreeTipText
-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
Method Detail
-
generateRandomNetwork
public void generateRandomNetwork() throws java.lang.Exception
Generate random connected Bayesian network with discrete nodes having all the same cardinality.- Throws:
java.lang.Exception
- if something goes wrong
-
Init
public void Init(int nNodes, int nValues) throws java.lang.Exception
Init defines a minimal Bayes net with no arcs- Parameters:
nNodes
- number of nodes in the Bayes netnValues
- number of values each of the nodes can take- Throws:
java.lang.Exception
- if something goes wrong
-
generateRandomNetworkStructure
public void generateRandomNetworkStructure(int nNodes, int nArcs) throws java.lang.Exception
GenerateRandomNetworkStructure generate random connected Bayesian network- Parameters:
nNodes
- number of nodes in the Bayes net to generatenArcs
- number of arcs to generate. Must be between nNodes - 1 and nNodes * (nNodes-1) / 2- Throws:
java.lang.Exception
- if number of arcs is incorrect
-
generateInstances
public void generateInstances() throws java.lang.Exception
GenerateInstances generates random instances sampling from the distribution represented by the Bayes network structure. It assumes a Bayes network structure has been initialized- Throws:
java.lang.Exception
- if something goes wrong
-
toString
public java.lang.String toString()
Returns either the net (if BIF format) or the generated instances
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classBayesNet
- 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:-B Generate network (instead of instances)
-N <integer> Nr of nodes
-A <integer> Nr of arcs
-M <integer> Nr of instances
-C <integer> Cardinality of the variables
-S <integer> Seed for random number generator
-F <file> The BIF file to obtain the structure from.
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classBayesNet
- 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 interfaceOptionHandler
- Overrides:
getOptions
in classBayesNet
- Returns:
- an array of strings suitable for passing to setOptions
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classEditableBayesNet
- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
Main method- Parameters:
args
- the commandline parameters
-
-