Package weka.datagenerators.clusterers

# Class SubspaceClusterDefinition

java.lang.Object
weka.datagenerators.ClusterDefinition
weka.datagenerators.clusterers.SubspaceClusterDefinition

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

public class SubspaceClusterDefinition extends ClusterDefinition
A single cluster for the SubspaceCluster data generator.

Valid options are:

     -A <range>
      Uses a random uniform distribution for the instances in the cluster.

     -U <range>
      Generates totally uniformly distributed instances in the cluster.

     -G <range>
      Uses a Gaussian distribution for the instances in the cluster.

     -D <num>,<num>
      The attribute min/max (-A and -U) or mean/stddev (-G) for the cluster, repeated for each attribute.

     -N <num>..<num>
      The range of number of instances per cluster (default 1..50).

     -I
      Uses integer instead of continuous values (default: continuous).

Version:
  $Revision: 15744 $
Author:
  Gabi Schmidberger (gabi@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - `SubspaceCluster`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SubspaceClusterDefinition()`
  Needed so that this class can be found as permissible.
  `SubspaceClusterDefinition(ClusterGenerator parent)`
  initializes the cluster with default values

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `attributesToString()`
  Make a string from the attribues list.
  `String`
  `attrIndexRangeTipText()`
  Returns the tip text for this property
  `String`
  `clusterSubTypeTipText()`
  Returns the tip text for this property
  `String`
  `clusterTypeTipText()`
  Returns the tip text for this property
  `boolean[]`
  `getAttributes()`
  `String`
  `getAttrIndexRange()`
  returns the attribute range(s).
  `SelectedTag`
  `getClusterSubType()`
  Gets the cluster sub type.
  `SelectedTag`
  `getClusterType()`
  Gets the cluster type.
  `int`
  `getMaxInstNum()`
  Gets the upper boundary for instances per cluster.
  `double[]`
  `getMaxValue()`
  `double[]`
  `getMeanValue()`
  `int`
  `getMinInstNum()`
  Gets the lower boundary for instances per cluster.
  `double[]`
  `getMinValue()`
  `int`
  `getNumInstances()`
  `String[]`
  `getOptions()`
  Gets the current settings of the datagenerator BIRCHCluster.
  `String`
  `getRevision()`
  Returns the revision string.
  `double[]`
  `getStddevValue()`
  `String`
  `getValuesList()`
  returns the range for each attribute as string
  `String`
  `globalInfo()`
  Returns a string describing this data generator.
  `boolean`
  `isContinuous()`
  checks, whether cluster sub type is continuous
  `boolean`
  `isGaussian()`
  checks, whether cluster type is gaussian
  `boolean`
  `isInteger()`
  checks, whether cluster sub type is integer
  `boolean`
  `isRandom()`
  checks, whether cluster type is random
  `boolean`
  `isUniform()`
  checks, whether cluster type is uniform
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `String`
  `maxInstNumTipText()`
  Returns the tip text for this property
  `String`
  `minInstNumTipText()`
  Returns the tip text for this property
  `void`
  `setAttrIndexRange(String rangeList)`
  Sets which attributes are used in the cluster.
  `void`
  `setClusterSubType(SelectedTag value)`
  Sets the cluster sub type.
  `void`
  `setClusterType(SelectedTag value)`
  Sets the cluster type.
  `void`
  `setMaxInstNum(int newMaxInstNum)`
  Sets the upper boundary for instances per cluster.
  `void`
  `setMinInstNum(int newMinInstNum)`
  Sets the lower boundary for instances per cluster.
  `void`
  `setNumInstances(Random r)`
  Sets the real number of instances for this cluster.
  `void`
  `setOptions(String[] options)`
  Parses a list of options for this object.
  `void`
  `setValuesList(String fromToList)`
  Sets the ranges for each attribute.
  `String`
  `toString()`
  Make a string from the cluster features.
  `String`
  `valuesListTipText()`
  Returns the tip text for this property

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

  `getParent, parentTipText, setParent`

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

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

- ## Constructor Details

  - ### SubspaceClusterDefinition

    public SubspaceClusterDefinition()
    Needed so that this class can be found as permissible.

  - ### SubspaceClusterDefinition

    public SubspaceClusterDefinition(ClusterGenerator parent)
    initializes the cluster with default values
    Parameters:
      `parent` - the datagenerator this cluster belongs to

- ## Method Details

  - ### globalInfo

    public String globalInfo()
    Returns a string describing this data generator.
    Overrides:
      `globalInfo` in class `ClusterDefinition`
    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.
    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:

         -A <range>
          Uses a random uniform distribution for the instances in the cluster.

         -U <range>
          Generates totally uniformly distributed instances in the cluster.

         -G <range>
          Uses a Gaussian distribution for the instances in the cluster.

         -D <num>,<num>
          The attribute min/max (-A and -U) or mean/stddev (-G) for the cluster, repeated for each attribute.

         -N <num>..<num>
          The range of number of instances per cluster (default 1..50).

         -I
          Uses integer instead of continuous values (default: continuous).

    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 BIRCHCluster.
    Returns:
      an array of strings suitable for passing to setOptions

  - ### attributesToString

    public String attributesToString()
    Make a string from the attribues list.
    Returns:
      the attributes as string

  - ### toString

    public String toString()
    Make a string from the cluster features.
    Overrides:
      `toString` in class `ClusterDefinition`
    Returns:
      the cluster features as string

  - ### setAttrIndexRange

    public void setAttrIndexRange(String rangeList)
    Sets which attributes are used in the cluster.
    Parameters:
      `rangeList` - a string representing the list of attributes. Since the string will typically come from a user, attributes are indexed from 1.
      eg: first-3,5,6-last

  - ### getAttrIndexRange

    public String getAttrIndexRange()
    returns the attribute range(s).
    Returns:
      the attribute range(s).

  - ### attrIndexRangeTipText

    public String attrIndexRangeTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getAttributes

    public boolean[] getAttributes()

  - ### getMinValue

    public double[] getMinValue()

  - ### getMaxValue

    public double[] getMaxValue()

  - ### getMeanValue

    public double[] getMeanValue()

  - ### getStddevValue

    public double[] getStddevValue()

  - ### getNumInstances

    public int getNumInstances()

  - ### getClusterType

    public SelectedTag getClusterType()
    Gets the cluster type.
    Returns:
      the cluster type
    See Also:
      - `SubspaceCluster.TAGS_CLUSTERTYPE`

  - ### setClusterType

    public void setClusterType(SelectedTag value)
    Sets the cluster type.
    Parameters:
      `value` - the new cluster type.
    See Also:
      - `SubspaceCluster.TAGS_CLUSTERTYPE`

  - ### clusterTypeTipText

    public String clusterTypeTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getClusterSubType

    public SelectedTag getClusterSubType()
    Gets the cluster sub type.
    Returns:
      the cluster sub type
    See Also:
      - `SubspaceCluster.TAGS_CLUSTERSUBTYPE`

  - ### setClusterSubType

    public void setClusterSubType(SelectedTag value)
    Sets the cluster sub type.
    Parameters:
      `value` - the new cluster sub type.
    See Also:
      - `SubspaceCluster.TAGS_CLUSTERSUBTYPE`

  - ### clusterSubTypeTipText

    public String clusterSubTypeTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### isRandom

    public boolean isRandom()
    checks, whether cluster type is random
    Returns:
      true if cluster type is random

  - ### isUniform

    public boolean isUniform()
    checks, whether cluster type is uniform
    Returns:
      true if cluster type is uniform

  - ### isGaussian

    public boolean isGaussian()
    checks, whether cluster type is gaussian
    Returns:
      true if cluster type is gaussian

  - ### isContinuous

    public boolean isContinuous()
    checks, whether cluster sub type is continuous
    Returns:
      true if cluster sub type is continuous

  - ### isInteger

    public boolean isInteger()
    checks, whether cluster sub type is integer
    Returns:
      true if cluster sub type is integer

  - ### getMinInstNum

    public int getMinInstNum()
    Gets the lower boundary for instances per cluster.
    Returns:
      the the lower boundary for instances per cluster

  - ### setMinInstNum

    public void setMinInstNum(int newMinInstNum)
    Sets the lower boundary for instances per cluster.
    Parameters:
      `newMinInstNum` - new lower boundary for instances per cluster

  - ### minInstNumTipText

    public String minInstNumTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getMaxInstNum

    public int getMaxInstNum()
    Gets the upper boundary for instances per cluster.
    Returns:
      the upper boundary for instances per cluster

  - ### setMaxInstNum

    public void setMaxInstNum(int newMaxInstNum)
    Sets the upper boundary for instances per cluster.
    Parameters:
      `newMaxInstNum` - new upper boundary for instances per cluster

  - ### maxInstNumTipText

    public String maxInstNumTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### setNumInstances

    public void setNumInstances(Random r)
    Sets the real number of instances for this cluster.
    Parameters:
      `r` - random number generator

  - ### setValuesList

    public void setValuesList(String fromToList) throws Exception
    Sets the ranges for each attribute.
    Parameters:
      `fromToList` - the string containing the upper and lower boundary for instances per cluster separated by ..
    Throws:
      `Exception` - if values are not correct in number or value

  - ### getValuesList

    public String getValuesList()
    returns the range for each attribute as string

  - ### valuesListTipText

    public String valuesListTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getRevision

    public String getRevision()
    Returns the revision string.
    Returns:
      the revision