Class SubspaceClusterDefinition

  • All Implemented Interfaces:
    java.io.Serializable, OptionHandler, RevisionHandler

    public class SubspaceClusterDefinition
    extends ClusterDefinition
    A single cluster for the SubspaceCluster datagenerator

    Valid options are:

     -A <range>
      Generates randomly distributed instances in the cluster.
     
     -U <range>
      Generates uniformly distributed instances in the cluster.
     
     -G <range>
      Generates gaussian distributed instances in the cluster.
     
     -D <num>,<num>
      The attribute min/max (-A and -U) or mean/stddev (-G) for
      the cluster.
     
     -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: 1.5 $
    Author:
    Gabi Schmidberger (gabi@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    SubspaceCluster, Serialized Form
    • Constructor Detail

      • SubspaceClusterDefinition

        public SubspaceClusterDefinition()
        initializes the cluster, without a parent cluster (necessary for GOE)
      • SubspaceClusterDefinition

        public SubspaceClusterDefinition​(ClusterGenerator parent)
        initializes the cluster with default values
        Parameters:
        parent - the datagenerator this cluster belongs to
    • Method Detail

      • globalInfo

        public java.lang.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 java.util.Enumeration listOptions()
        Returns an enumeration describing the available options.
        Specified by:
        listOptions in interface OptionHandler
        Specified by:
        listOptions in class ClusterDefinition
        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:

         -A <range>
          Generates randomly distributed instances in the cluster.
         
         -U <range>
          Generates uniformly distributed instances in the cluster.
         
         -G <range>
          Generates gaussian distributed instances in the cluster.
         
         -D <num>,<num>
          The attribute min/max (-A and -U) or mean/stddev (-G) for
          the cluster.
         
         -N <num>..<num>
          The range of number of instances per cluster (default 1..50).
         
         -I
          Uses integer instead of continuous values (default continuous).
         
        Specified by:
        setOptions in interface OptionHandler
        Specified by:
        setOptions in class ClusterDefinition
        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 BIRCHCluster.
        Specified by:
        getOptions in interface OptionHandler
        Specified by:
        getOptions in class ClusterDefinition
        Returns:
        an array of strings suitable for passing to setOptions
      • attributesToString

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

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

        public void setParent​(SubspaceCluster parent)
        sets the parent datagenerator this cluster belongs to
        Parameters:
        parent - the parent datagenerator
      • setAttrIndexRange

        public void setAttrIndexRange​(java.lang.String rangeList)
        Sets which attributes are used in the cluster attributes among the selection will be discretized.
        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 java.lang.String getAttrIndexRange()
        returns the attribute range(s).
        Returns:
        the attribute range(s).
      • attrIndexRangeTipText

        public java.lang.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()
      • clusterTypeTipText

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

        public java.lang.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 java.lang.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 java.lang.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​(java.util.Random r)
        Sets the real number of instances for this cluster.
        Parameters:
        r - random number generator
      • setValuesList

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

        public java.lang.String getValuesList()
        returns the range for each attribute as string
      • valuesListTipText

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

        public void setMeanStddev​(java.lang.String meanstddev)
                           throws java.lang.Exception
        Sets mean and standarddeviation.
        Parameters:
        meanstddev - the string containing the upper and lower boundary for instances per cluster separated by ..
        Throws:
        java.lang.Exception - if values are not correct in number or value
      • getMeanStddev

        public java.lang.String getMeanStddev()
        returns the current mean/stddev setup
      • meanStddevTipText

        public java.lang.String meanStddevTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setValuesList

        public void setValuesList​(java.lang.String fromToList,
                                  double[] first,
                                  double[] second,
                                  java.lang.String optionLetter)
                           throws java.lang.Exception
        Sets the ranges for each attribute.
        Parameters:
        fromToList - the string containing the upper and lower boundary for instances per cluster separated by ..
        first - the "from's"
        second - the "to's"
        optionLetter - the option, from which the list came
        Throws:
        java.lang.Exception - if values are not correct in number or value
      • getRevision

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