weka.datagenerators.classifiers.classification
Class LED24

java.lang.Object
  extended by weka.datagenerators.DataGenerator
      extended by weka.datagenerators.ClassificationGenerator
          extended by weka.datagenerators.classifiers.classification.LED24
All Implemented Interfaces:
java.io.Serializable, OptionHandler, Randomizable, RevisionHandler, TechnicalInformationHandler

public class LED24
extends ClassificationGenerator
implements TechnicalInformationHandler

This generator produces data for a display with 7 LEDs. The original output consists of 10 concepts and 7 boolean attributes. Here, in addition to the 7 necessary boolean attributes, 17 other, irrelevant boolean attributes with random values are added to make it harder. By default 10 percent of noise are added to the data.

More information can be found here:
L. Breiman J.H. Friedman R.A. Olshen, C.J. Stone (1984). Classification and Regression Trees. Belmont, California. URL http://www.ics.uci.edu/~mlearn/databases/led-display-creator/.

Link:
http://www.ics.uci.edu/~mlearn/databases/led-display-creator/

BibTeX:

 @inbook{Olshen1984,
    address = {Belmont, California},
    author = {L. Breiman J.H. Friedman R.A. Olshen and C.J. Stone},
    pages = {43-49},
    publisher = {Wadsworth International Group},
    title = {Classification and Regression Trees},
    year = {1984},
    ISBN = {0412048418},
    URL = {http://www.ics.uci.edu/\~mlearn/databases/led-display-creator/}
 }
 

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)
 -N <num>
  The noise percentage. (default 10.0)

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

Constructor Summary
LED24()
          initializes the generator with default values
 
Method Summary
 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.
 java.lang.String generateFinished()
          Generates a comment string that documentats the data generator.
 java.lang.String generateStart()
          Generates a comment string that documentates the data generator.
 double getNoisePercent()
          Gets the noise percentage.
 java.lang.String[] getOptions()
          Gets the current settings of the datagenerator.
 java.lang.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.
 java.lang.String globalInfo()
          Returns a string describing this data generator.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options.
static void main(java.lang.String[] args)
          Main method for executing this class.
 java.lang.String noisePercentTipText()
          Returns the tip text for this property
 void setNoisePercent(double value)
          Sets the noise percentage.
 void setOptions(java.lang.String[] options)
          Parses a list of options for this object.
 
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
 

Constructor Detail

LED24

public LED24()
initializes the generator with default values

Method Detail

globalInfo

public java.lang.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 java.util.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(java.lang.String[] options)
                throws java.lang.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)
 -N <num>
  The noise percentage. (default 10.0)

Specified by:
setOptions in interface OptionHandler
Overrides:
setOptions in class ClassificationGenerator
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 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[])

getNoisePercent

public double getNoisePercent()
Gets the noise percentage.

Returns:
the noise percentage.

setNoisePercent

public void setNoisePercent(double value)
Sets the noise percentage.

Parameters:
value - the noise percentage.

noisePercentTipText

public java.lang.String noisePercentTipText()
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 java.lang.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:
java.lang.Exception - if mode is not set yet

defineDataFormat

public Instances defineDataFormat()
                           throws java.lang.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:
java.lang.Exception - if the generating of the format failed
See Also:
DataGenerator.getSeed()

generateExample

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

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

generateExamples

public Instances generateExamples()
                           throws java.lang.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:
java.lang.Exception - if the format of the dataset is not yet defined
java.lang.Exception - if the generator only works with generateExample, which means in single mode
See Also:
DataGenerator.getSeed()

generateStart

public java.lang.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 java.lang.String generateFinished()
                                  throws java.lang.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:
java.lang.Exception - if the generating of the documentaion fails

getRevision

public java.lang.String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Returns:
the revision

main

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

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