Class ClusterGenerator

  • All Implemented Interfaces:
    java.io.Serializable, OptionHandler, Randomizable, RevisionHandler
    Direct Known Subclasses:
    BIRCHCluster, SubspaceCluster

    public abstract class ClusterGenerator
    extends DataGenerator
    Abstract class for cluster data generators.

    Example usage as the main of a datagenerator called RandomGenerator:

     public static void main(String[] args) {
       try {
         DataGenerator.makeData(new RandomGenerator(), args);
       } 
       catch (Exception e) {
         e.printStackTrace();
         System.err.println(e.getMessage());
       }
     }
     

    Version:
    $Revision: 1.6 $
    Author:
    Gabi Schmidberger (gabi@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • ClusterGenerator

        public ClusterGenerator()
        initializes the generator
    • Method Detail

      • listOptions

        public java.util.Enumeration listOptions()
        Returns an enumeration describing the available options.
        Specified by:
        listOptions in interface OptionHandler
        Overrides:
        listOptions in class DataGenerator
        Returns:
        an enumeration of all the available options.
      • setOptions

        public void setOptions​(java.lang.String[] options)
                        throws java.lang.Exception
        Sets the options.
        Specified by:
        setOptions in interface OptionHandler
        Overrides:
        setOptions in class DataGenerator
        Parameters:
        options - the options
        Throws:
        java.lang.Exception - if invalid option
      • 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 java.lang.String numAttributesTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setClassFlag

        public void setClassFlag​(boolean classFlag)
        Sets the class flag, if class flag is set, the cluster is listed as class atrribute in an extra attribute.
        Parameters:
        classFlag - the new class flag
      • getClassFlag

        public boolean getClassFlag()
        Gets the class flag.
        Returns:
        the class flag
      • classFlagTipText

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

        public void setBooleanIndices​(java.lang.String rangeList)
        Sets which attributes are boolean
        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
        Throws:
        java.lang.IllegalArgumentException - if an invalid range list is supplied
      • setBooleanCols

        public void setBooleanCols​(Range value)
        Sets which attributes are boolean.
        Parameters:
        value - the range to use
      • getBooleanCols

        public Range getBooleanCols()
        returns the range of boolean attributes.
        Returns:
        the range of boolean attributes
      • booleanColsTipText

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

        public void setNominalIndices​(java.lang.String rangeList)
        Sets which attributes are nominal
        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
        Throws:
        java.lang.IllegalArgumentException - if an invalid range list is supplied
      • setNominalCols

        public void setNominalCols​(Range value)
        Sets which attributes are nominal.
        Parameters:
        value - the range to use
      • getNominalCols

        public Range getNominalCols()
        returns the range of nominal attributes
        Returns:
        the range of nominal attributes
      • nominalColsTipText

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