Package weka.datagenerators.classifiers.classification

# Class Agrawal

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

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

public class Agrawal extends ClassificationGenerator implements TechnicalInformationHandler
Generates a people database and is based on the paper by Agrawal et al.:
R. Agrawal, T. Imielinski, A. Swami (1993). Database Mining: A Performance Perspective. IEEE Transactions on Knowledge and Data Engineering. 5(6):914-925. URL http://www.almaden.ibm.com/software/quest/Publications/ByDate.html.

BibTeX:

     @article{Agrawal1993,
        author = {R. Agrawal and T. Imielinski and A. Swami},
        journal = {IEEE Transactions on Knowledge and Data Engineering},
        note = {Special issue on Learning and Discovery in Knowledge-Based Databases},
        number = {6},
        pages = {914-925},
        title = {Database Mining: A Performance Perspective},
        volume = {5},
        year = {1993},
        URL = {http://www.almaden.ibm.com/software/quest/Publications/ByDate.html},
        PDF = {http://www.almaden.ibm.com/software/quest/Publications/papers/tkde93.pdf}
     }

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)

     -F <num>
      The function to use for generating the data. (default 1)

     -B
      Whether to balance the class.

     -P <num>
      The perturbation factor. (default 0.05)

Version:
  $Revision: 1.6 $
Author:
  Richard Kirkby (rkirkby at cs dot waikato dot ac dot nz), FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`FUNCTION_1`
function 1
`static final int`
`FUNCTION_10`
function 10
`static final int`
`FUNCTION_2`
function 2
`static final int`
`FUNCTION_3`
function 3
`static final int`
`FUNCTION_4`
function 4
`static final int`
`FUNCTION_5`
function 5
`static final int`
`FUNCTION_6`
function 6
`static final int`
`FUNCTION_7`
function 7
`static final int`
`FUNCTION_8`
function 8
`static final int`
`FUNCTION_9`
function 9
`static final Tag[]`
`FUNCTION_TAGS`
the funtion tags

## Constructor Summary

Constructors
Constructor
Description
`Agrawal()`
initializes the generator with default values

## Method Summary

Modifier and Type
Method
Description
`String`
`balanceClassTipText()`
Returns the tip text for this property
`Instances`
`defineDataFormat()`
Initializes the format for the dataset produced.
`String`
`functionTipText()`
Returns the tip text for this property
`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.
`boolean`
`getBalanceClass()`
Gets whether the class is balanced.
`SelectedTag`
`getFunction()`
Gets the function for generating the data.
`String[]`
`getOptions()`
Gets the current settings of the datagenerator.
`double`
`getPerturbationFraction()`
Gets the perturbation fraction.
`String`
`getRevision()`
Returns the revision string.
`boolean`
`getSingleModeFlag()`
Return if single mode is set for the given data generator mode depends on option setting and or generator type.
`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.
`String`
`globalInfo()`
Returns a string describing this data generator.
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options.
`static void`
`main(String[] args)`
Main method for executing this class.
`String`
`perturbationFractionTipText()`
Returns the tip text for this property
`void`
`setBalanceClass(boolean value)`
Sets whether the class is balanced.
`void`
`setFunction(SelectedTag value)`
Sets the function for generating the data.
`void`
`setOptions(String[] options)`
Parses a list of options for this object.
`void`
`setPerturbationFraction(double value)`
Sets the perturbation fraction.

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

`getNumExamples, numExamplesTipText, setNumExamples`

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

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

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

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

## Field Details

### FUNCTION_1

public static final int FUNCTION_1
function 1

See Also:
  - Constant Field Values

### FUNCTION_2

public static final int FUNCTION_2
function 2

See Also:
  - Constant Field Values

### FUNCTION_3

public static final int FUNCTION_3
function 3

See Also:
  - Constant Field Values

### FUNCTION_4

public static final int FUNCTION_4
function 4

See Also:
  - Constant Field Values

### FUNCTION_5

public static final int FUNCTION_5
function 5

See Also:
  - Constant Field Values

### FUNCTION_6

public static final int FUNCTION_6
function 6

See Also:
  - Constant Field Values

### FUNCTION_7

public static final int FUNCTION_7
function 7

See Also:
  - Constant Field Values

### FUNCTION_8

public static final int FUNCTION_8
function 8

See Also:
  - Constant Field Values

### FUNCTION_9

public static final int FUNCTION_9
function 9

See Also:
  - Constant Field Values

### FUNCTION_10

public static final int FUNCTION_10
function 10

See Also:
  - Constant Field Values

### FUNCTION_TAGS

public static final Tag[] FUNCTION_TAGS
the funtion tags

## Constructor Details

### Agrawal

public Agrawal()
initializes the generator with default values

## 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

### 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

### listOptions

public Enumeration 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)

     -F <num>
      The function to use for generating the data. (default 1)

     -B
      Whether to balance the class.

     -P <num>
      The perturbation factor. (default 0.05)

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[])`

### getFunction

public SelectedTag getFunction()
Gets the function for generating the data.

Returns:
  the function.
See Also:
  - `FUNCTION_TAGS`

### setFunction

public void setFunction(SelectedTag value)
Sets the function for generating the data.

Parameters:
  `value` - the function.
See Also:
  - `FUNCTION_TAGS`

### functionTipText

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

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

### getBalanceClass

public boolean getBalanceClass()
Gets whether the class is balanced.

Returns:
  whether the class is balanced.

### setBalanceClass

public void setBalanceClass(boolean value)
Sets whether the class is balanced.

Parameters:
  `value` - whether to balance the class.

### balanceClassTipText

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

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

### getPerturbationFraction

public double getPerturbationFraction()
Gets the perturbation fraction.

Returns:
  the perturbation fraction.

### setPerturbationFraction

public void setPerturbationFraction(double value)
Sets the perturbation fraction.

Parameters:
  `value` - the perturbation fraction.

### perturbationFractionTipText

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

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

### 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:
  - `DataGenerator.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:
  - `DataGenerator.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.

Specified by:
  `getRevision` in interface `RevisionHandler`
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: