Package weka.filters.unsupervised.attribute

# Class PKIDiscretize

java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.PotentialClassIgnorer
weka.filters.unsupervised.attribute.Discretize
weka.filters.unsupervised.attribute.PKIDiscretize

All Implemented Interfaces:
  `Serializable`, `CapabilitiesHandler`, `CapabilitiesIgnorer`, `CommandlineRunnable`, `OptionHandler`, `RevisionHandler`, `TechnicalInformationHandler`, `WeightedAttributesHandler`, `WeightedInstancesHandler`, `UnsupervisedFilter`

public class PKIDiscretize extends Discretize implements TechnicalInformationHandler, WeightedAttributesHandler, WeightedInstancesHandler
Discretizes numeric attributes using equal frequency binning and forces the number of bins to be equal to the square root of the number of values of the numeric attribute.
For more information, see:
Ying Yang, Geoffrey I. Webb: Proportional k-Interval Discretization for Naive-Bayes Classifiers. In: 12th European Conference on Machine Learning, 564-575, 2001.

BibTeX:

     @inproceedings{Yang2001,
        author = {Ying Yang and Geoffrey I. Webb},
        booktitle = {12th European Conference on Machine Learning},
        pages = {564-575},
        publisher = {Springer},
        series = {LNCS},
        title = {Proportional k-Interval Discretization for Naive-Bayes Classifiers},
        volume = {2167},
        year = {2001}
     }

Valid options are:

     -unset-class-temporarily
      Unsets the class index temporarily before the filter is
      applied to the data.
      (default: no)

     -R <col1,col2-col4,...>
      Specifies list of columns to discretize. First and last are valid indexes.
      (default: first-last)

     -V
      Invert matching sense of column indexes.

     -D
      Output binary attributes for discretized attributes.

Version:
  $Revision: 14534 $
Author:
  Richard Kirkby (rkirkby@cs.waikato.ac.nz)
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PKIDiscretize()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `binsTipText()`
  Returns the tip text for this property
  `String`
  `findNumBinsTipText()`
  Returns the tip text for this property
  `int`
  `getBins()`
  Ignored
  `boolean`
  `getFindNumBins()`
  Get the value of FindNumBins.
  `String[]`
  `getOptions()`
  Gets the current settings of the filter.
  `String`
  `getRevision()`
  Returns the revision string.
  `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.
  `boolean`
  `getUseEqualFrequency()`
  Get the value of UseEqualFrequency.
  `String`
  `globalInfo()`
  Returns a string describing this filter
  `Enumeration<Option>`
  `listOptions()`
  Gets an enumeration describing the available options.
  `static void`
  `main(String[] argv)`
  Main method for testing this class.
  `void`
  `setBins(int numBins)`
  Ignored
  `void`
  `setFindNumBins(boolean newFindNumBins)`
  Set the value of FindNumBins.
  `boolean`
  `setInputFormat(Instances instanceInfo)`
  Sets the format of the input instances.
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `void`
  `setUseEqualFrequency(boolean newUseEqualFrequency)`
  Set the value of UseEqualFrequency.
  `String`
  `useEqualFrequencyTipText()`
  Returns the tip text for this property

  ### Methods inherited from class weka.filters.unsupervised.attribute.Discretize

  `attributeIndicesTipText, batchFinished, binRangePrecisionTipText, desiredWeightOfInstancesPerIntervalTipText, getAttributeIndices, getBinRangePrecision, getBinRangesString, getCapabilities, getCutPoints, getDesiredWeightOfInstancesPerInterval, getInvertSelection, getMakeBinary, getSpreadAttributeWeight, getUseBinNumbers, input, invertSelectionTipText, makeBinaryTipText, setAttributeIndices, setAttributeIndicesArray, setBinRangePrecision, setDesiredWeightOfInstancesPerInterval, setInvertSelection, setMakeBinary, setSpreadAttributeWeight, setUseBinNumbers, spreadAttributeWeightTipText, useBinNumbersTipText`

  ### Methods inherited from class weka.filters.unsupervised.attribute.PotentialClassIgnorer

  `getIgnoreClass, getOutputFormat, ignoreClassTipText, setIgnoreClass`

  ### Methods inherited from class weka.filters.Filter

  `batchFilterFile, debugTipText, doNotCheckCapabilitiesTipText, filterFile, getCapabilities, getCopyOfInputFormat, getDebug, getDoNotCheckCapabilities, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, toString, useFilter, wekaStaticWrapper`

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

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

- ## Constructor Details

  - ### PKIDiscretize

    public PKIDiscretize()

- ## Method Details

  - ### setInputFormat

    public boolean setInputFormat(Instances instanceInfo) throws Exception
    Sets the format of the input instances.
    Overrides:
      `setInputFormat` in class `Discretize`
    Parameters:
      `instanceInfo` - an Instances object containing the input instance structure (any instances contained in the object are ignored - only the structure is required).
    Returns:
      true if the outputFormat may be collected immediately
    Throws:
      `Exception` - if the input format can't be set successfully

  - ### listOptions

    public Enumeration<Option> listOptions()
    Gets an enumeration describing the available options.
    Specified by:
      `listOptions` in interface `OptionHandler`
    Overrides:
      `listOptions` in class `Discretize`
    Returns:
      an enumeration of all the available options.

  - ### setOptions

    public void setOptions(String[] options) throws Exception
    Parses a given list of options.

    Valid options are:

         -unset-class-temporarily
          Unsets the class index temporarily before the filter is
          applied to the data.
          (default: no)

         -R <col1,col2-col4,...>
          Specifies list of columns to discretize. First and last are valid indexes.
          (default: first-last)

         -V
          Invert matching sense of column indexes.

         -D
          Output binary attributes for discretized attributes.

    Specified by:
      `setOptions` in interface `OptionHandler`
    Overrides:
      `setOptions` in class `Discretize`
    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 filter.
    Specified by:
      `getOptions` in interface `OptionHandler`
    Overrides:
      `getOptions` in class `Discretize`
    Returns:
      an array of strings suitable for passing to setOptions

  - ### globalInfo

    public String globalInfo()
    Returns a string describing this filter
    Overrides:
      `globalInfo` in class `Discretize`
    Returns:
      a description of the filter 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

  - ### findNumBinsTipText

    public String findNumBinsTipText()
    Returns the tip text for this property
    Overrides:
      `findNumBinsTipText` in class `Discretize`
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getFindNumBins

    public boolean getFindNumBins()
    Get the value of FindNumBins.
    Overrides:
      `getFindNumBins` in class `Discretize`
    Returns:
      Value of FindNumBins.

  - ### setFindNumBins

    public void setFindNumBins(boolean newFindNumBins)
    Set the value of FindNumBins.
    Overrides:
      `setFindNumBins` in class `Discretize`
    Parameters:
      `newFindNumBins` - Value to assign to FindNumBins.

  - ### useEqualFrequencyTipText

    public String useEqualFrequencyTipText()
    Returns the tip text for this property
    Overrides:
      `useEqualFrequencyTipText` in class `Discretize`
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getUseEqualFrequency

    public boolean getUseEqualFrequency()
    Get the value of UseEqualFrequency.
    Overrides:
      `getUseEqualFrequency` in class `Discretize`
    Returns:
      Value of UseEqualFrequency.

  - ### setUseEqualFrequency

    public void setUseEqualFrequency(boolean newUseEqualFrequency)
    Set the value of UseEqualFrequency.
    Overrides:
      `setUseEqualFrequency` in class `Discretize`
    Parameters:
      `newUseEqualFrequency` - Value to assign to UseEqualFrequency.

  - ### binsTipText

    public String binsTipText()
    Returns the tip text for this property
    Overrides:
      `binsTipText` in class `Discretize`
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getBins

    public int getBins()
    Ignored
    Overrides:
      `getBins` in class `Discretize`
    Returns:
      the number of bins.

  - ### setBins

    public void setBins(int numBins)
    Ignored
    Overrides:
      `setBins` in class `Discretize`
    Parameters:
      `numBins` - the number of bins

  - ### getRevision

    public String getRevision()
    Returns the revision string.
    Specified by:
      `getRevision` in interface `RevisionHandler`
    Overrides:
      `getRevision` in class `Discretize`
    Returns:
      the revision

  - ### main

    public static void main(String[] argv)
    Main method for testing this class.
    Parameters:
      `argv` - should contain arguments to the filter: use -h for help