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 voidgenerateInstances()GenerateInstances generates random instances sampling from the distribution represented by the Bayes network structure.voidgenerateRandomNetwork()Generate random connected Bayesian network with discrete nodes having all the same cardinality.voidgenerateRandomNetworkStructure(int nNodes, int nArcs)GenerateRandomNetworkStructure generate random connected Bayesian networkjava.lang.String[]getOptions()Gets the current settings of the classifier.java.lang.StringgetRevision()Returns the revision string.voidInit(int nNodes, int nValues)Init defines a minimal Bayes net with no arcsjava.util.EnumerationlistOptions()Returns an enumeration describing the available optionsstatic voidmain(java.lang.String[] args)Main methodvoidsetOptions(java.lang.String[] options)Parses a given list of options.java.lang.StringtoString()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.ExceptionGenerate 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.ExceptionInit 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.ExceptionGenerateRandomNetworkStructure 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.ExceptionGenerateInstances 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:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classBayesNet- Returns:
- an enumeration of all the available options
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionParses 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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin 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:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classBayesNet- Returns:
- an array of strings suitable for passing to setOptions
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classEditableBayesNet- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
Main method- Parameters:
args- the commandline parameters
-
-