Package weka.datagenerators.classifiers.classification

# Class BayesNet

java.lang.Object
weka.datagenerators.DataGenerator
weka.datagenerators.ClassificationGenerator
weka.datagenerators.classifiers.classification.BayesNet

All Implemented Interfaces:
  `Serializable`, `OptionHandler`, `Randomizable`, `RevisionHandler`

public class BayesNet extends ClassificationGenerator
Generates random instances based on a Bayes network.
Valid options are:

     -h
      Prints this help.

     -o <file>
      The name of the output file, otherwise the generated data is
      printed to stdout.

     -r <name>
      The name of the relation.

     -d
      Whether to print debug informations.

     -S
      The seed for random function (default 1)

     -n <num>
      The number of examples to generate (default 100)

     -A <num>
      The number of arcs to use. (default 20)

     -N <num>
      The number of attributes to generate. (default 10)

     -C <num>
      The cardinality of the attributes and the class. (default 2)

Version:
  $Revision: 11753 $
Author:
  FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - `BayesNetGenerator`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`BayesNet()`
initializes the generator

## Method Summary

Modifier and Type
Method
Description
`String`
`cardinalityTipText()`
Returns the tip text for this property
`Instances`
`defineDataFormat()`
Initializes the format for the dataset produced.
`Instance`
`generateExample()`
Generates one example of the dataset.
`Instances`
`generateExamples()`
Generates all examples of the dataset.
`String`
`generateFinished()`
Generates a comment string that documentats the data generator.
`String`
`generateStart()`
Generates a comment string that documentates the data generator.
`int`
`getCardinality()`
Gets the cardinality of the attributes (incl class attribute)
`int`
`getNumArcs()`
Gets the number of arcs for the bayesian net
`int`
`getNumAttributes()`
Gets the number of attributes that should be produced.
`int`
`getNumExamples()`
Gets the number of examples, given by option.
`String[]`
`getOptions()`
Gets the current settings of the datagenerator.
`String`
`getRevision()`
Returns the revision string.
`int`
`getSeed()`
Gets the random number seed.
`boolean`
`getSingleModeFlag()`
Return if single mode is set for the given data generator mode depends on option setting and or generator type.
`String`
`globalInfo()`
Returns a string describing this data generator.
`Enumeration<Option>`
`listOptions()`
Returns an enumeration describing the available options.
`static void`
`main(String[] args)`
Main method for executing this class.
`String`
`numArcsTipText()`
Returns the tip text for this property
`String`
`numAttributesTipText()`
Returns the tip text for this property
`void`
`setCardinality(int value)`
Sets the cardinality of the attributes (incl class attribute)
`void`
`setNumArcs(int value)`
Sets the number of arcs for the bayesian net
`void`
`setNumAttributes(int numAttributes)`
Sets the number of attributes the dataset should have.
`void`
`setNumExamples(int numExamples)`
Sets the number of examples, given by option.
`void`
`setOptions(String[] options)`
Parses a list of options for this object.
`void`
`setSeed(int newSeed)`
Sets the random number seed.

### Methods inherited from class weka.datagenerators.ClassificationGenerator

`numExamplesTipText`

### Methods inherited from class weka.datagenerators.DataGenerator

`debugTipText, defaultOutput, formatTipText, getDatasetFormat, getDebug, getNumExamplesAct, getOutput, getRandom, getRelationName, makeData, outputTipText, randomTipText, relationNameTipText, seedTipText, setDatasetFormat, setDebug, setOutput, setRandom, setRelationName`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BayesNet

public BayesNet()
initializes the generator

## Method Details

### globalInfo

public String globalInfo()
Returns a string describing this data generator.

Returns:
  a description of the data generator suitable for displaying in the explorer/experimenter gui

### listOptions

public Enumeration<Option> listOptions()
Returns an enumeration describing the available options.

Specified by:
  `listOptions` in interface `OptionHandler`
Overrides:
  `listOptions` in class `ClassificationGenerator`
Returns:
  an enumeration of all the available options

### setOptions

public void setOptions(String[] options) throws Exception
Parses a list of options for this object.

Valid options are:

     -h
      Prints this help.

     -o <file>
      The name of the output file, otherwise the generated data is
      printed to stdout.

     -r <name>
      The name of the relation.

     -d
      Whether to print debug informations.

     -S
      The seed for random function (default 1)

     -n <num>
      The number of examples to generate (default 100)

     -A <num>
      The number of arcs to use. (default 20)

     -N <num>
      The number of attributes to generate. (default 10)

     -C <num>
      The cardinality of the attributes and the class. (default 2)

Specified by:
  `setOptions` in interface `OptionHandler`
Overrides:
  `setOptions` in class `ClassificationGenerator`
Parameters:
  `options` - the list of options as an array of strings
Throws:
  `Exception` - if an option is not supported

### getOptions

public String[] getOptions()
Gets the current settings of the datagenerator.

Specified by:
  `getOptions` in interface `OptionHandler`
Overrides:
  `getOptions` in class `ClassificationGenerator`
Returns:
  an array of strings suitable for passing to setOptions
See Also:
  - `DataGenerator.removeBlacklist(String[])`

### setNumAttributes

public void setNumAttributes(int numAttributes)
Sets the number of attributes the dataset should have.

Parameters:
  `numAttributes` - the new number of attributes

### getNumAttributes

public int getNumAttributes()
Gets the number of attributes that should be produced.

Returns:
  the number of attributes that should be produced

### numAttributesTipText

public String numAttributesTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### setCardinality

public void setCardinality(int value)
Sets the cardinality of the attributes (incl class attribute)

Parameters:
  `value` - the cardinality

### getCardinality

public int getCardinality()
Gets the cardinality of the attributes (incl class attribute)

Returns:
  the cardinality of the attributes

### cardinalityTipText

public String cardinalityTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### setNumArcs

public void setNumArcs(int value)
Sets the number of arcs for the bayesian net

Parameters:
  `value` - the number of arcs

### getNumArcs

public int getNumArcs()
Gets the number of arcs for the bayesian net

Returns:
  the number of arcs

### numArcsTipText

public String numArcsTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### setNumExamples

public void setNumExamples(int numExamples)
Sets the number of examples, given by option.

Overrides:
  `setNumExamples` in class `ClassificationGenerator`
Parameters:
  `numExamples` - the new number of examples

### getNumExamples

public int getNumExamples()
Gets the number of examples, given by option.

Overrides:
  `getNumExamples` in class `ClassificationGenerator`
Returns:
  the number of examples, given by option

### getSeed

public int getSeed()
Gets the random number seed.

Specified by:
  `getSeed` in interface `Randomizable`
Overrides:
  `getSeed` in class `DataGenerator`
Returns:
  the random number seed.

### setSeed

public void setSeed(int newSeed)
Sets the random number seed.

Specified by:
  `setSeed` in interface `Randomizable`
Overrides:
  `setSeed` in class `DataGenerator`
Parameters:
  `newSeed` - the new random number seed.

### getSingleModeFlag

public boolean getSingleModeFlag() throws Exception
Return if single mode is set for the given data generator mode depends on option setting and or generator type.

Specified by:
  `getSingleModeFlag` in class `DataGenerator`
Returns:
  single mode flag
Throws:
  `Exception` - if mode is not set yet

### defineDataFormat

public Instances defineDataFormat() throws Exception
Initializes the format for the dataset produced. Must be called before the generateExample or generateExamples methods are used. Re-initializes the random number generator with the given seed.

Overrides:
  `defineDataFormat` in class `DataGenerator`
Returns:
  the format for the dataset
Throws:
  `Exception` - if the generating of the format failed
See Also:
  - `getSeed()`

### generateExample

public Instance generateExample() throws Exception
Generates one example of the dataset.

Specified by:
  `generateExample` in class `DataGenerator`
Returns:
  the generated example
Throws:
  `Exception` - if the format of the dataset is not yet defined
  `Exception` - if the generator only works with generateExamples which means in non single mode

### generateExamples

public Instances generateExamples() throws Exception
Generates all examples of the dataset. Re-initializes the random number generator with the given seed, before generating instances.

Specified by:
  `generateExamples` in class `DataGenerator`
Returns:
  the generated dataset
Throws:
  `Exception` - if the format of the dataset is not yet defined
  `Exception` - if the generator only works with generateExample, which means in single mode
See Also:
  - `getSeed()`

### generateStart

public String generateStart()
Generates a comment string that documentates the data generator. By default this string is added at the beginning of the produced output as ARFF file type, next after the options.

Specified by:
  `generateStart` in class `DataGenerator`
Returns:
  string contains info about the generated rules

### generateFinished

public String generateFinished() throws Exception
Generates a comment string that documentats the data generator. By default this string is added at the end of theproduces output as ARFF file type.

Specified by:
  `generateFinished` in class `DataGenerator`
Returns:
  string contains info about the generated rules
Throws:
  `Exception` - if the generating of the documentaion fails

### getRevision

public String getRevision()
Returns the revision string.

Returns:
  the revision

### main

public static void main(String[] args)
Main method for executing this class.

Parameters:
  `args` - should contain arguments for the data producer: