public class Discretize extends PotentialClassIgnorer implements UnsupervisedFilter, WeightedInstancesHandler
-unset-class-temporarily Unsets the class index temporarily before the filter is applied to the data. (default: no)
-B <num> Specifies the (maximum) number of bins to divide numeric attributes into. (default = 10)
-M <num> Specifies the desired weight of instances per bin for equal-frequency binning. If this is set to a positive number then the -B option will be ignored. (default = -1)
-F Use equal-frequency instead of equal-width discretization.
-O Optimize number of bins using leave-one-out estimate of estimated entropy (for equal-width discretization). If this is set then the -B option will be ignored.
-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.
-Y Use bin numbers rather than ranges for discretized attributes.
| Constructor and Description |
|---|
Discretize()
Constructor - initialises the filter
|
Discretize(java.lang.String cols)
Another constructor, sets the attribute indices immediately
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
attributeIndicesTipText()
Returns the tip text for this property
|
boolean |
batchFinished()
Signifies that this batch of input to the filter is finished.
|
java.lang.String |
binsTipText()
Returns the tip text for this property
|
java.lang.String |
desiredWeightOfInstancesPerIntervalTipText()
Returns the tip text for this property
|
java.lang.String |
findNumBinsTipText()
Returns the tip text for this property
|
java.lang.String |
getAttributeIndices()
Gets the current range selection
|
java.lang.String |
getBinRangesString(int attributeIndex)
Gets the bin ranges string for an attribute
|
int |
getBins()
Gets the number of bins numeric attributes will be divided into
|
Capabilities |
getCapabilities()
Returns the Capabilities of this filter.
|
double[] |
getCutPoints(int attributeIndex)
Gets the cut points for an attribute
|
double |
getDesiredWeightOfInstancesPerInterval()
Get the DesiredWeightOfInstancesPerInterval value.
|
boolean |
getFindNumBins()
Get the value of FindNumBins.
|
boolean |
getInvertSelection()
Gets whether the supplied columns are to be removed or kept
|
boolean |
getMakeBinary()
Gets whether binary attributes should be made for discretized ones.
|
java.lang.String[] |
getOptions()
Gets the current settings of the filter.
|
java.lang.String |
getRevision()
Returns the revision string.
|
boolean |
getUseBinNumbers()
Gets whether bin numbers rather than ranges should be used for discretized
attributes.
|
boolean |
getUseEqualFrequency()
Get the value of UseEqualFrequency.
|
java.lang.String |
globalInfo()
Returns a string describing this filter
|
boolean |
input(Instance instance)
Input an instance for filtering.
|
java.lang.String |
invertSelectionTipText()
Returns the tip text for this property
|
java.util.Enumeration<Option> |
listOptions()
Gets an enumeration describing the available options.
|
static void |
main(java.lang.String[] argv)
Main method for testing this class.
|
java.lang.String |
makeBinaryTipText()
Returns the tip text for this property
|
void |
setAttributeIndices(java.lang.String rangeList)
Sets which attributes are to be Discretized (only numeric attributes among
the selection will be Discretized).
|
void |
setAttributeIndicesArray(int[] attributes)
Sets which attributes are to be Discretized (only numeric attributes among
the selection will be Discretized).
|
void |
setBins(int numBins)
Sets the number of bins to divide each selected numeric attribute into
|
void |
setDesiredWeightOfInstancesPerInterval(double newDesiredNumber)
Set the DesiredWeightOfInstancesPerInterval value.
|
void |
setFindNumBins(boolean newFindNumBins)
Set the value of FindNumBins.
|
boolean |
setInputFormat(Instances instanceInfo)
Sets the format of the input instances.
|
void |
setInvertSelection(boolean invert)
Sets whether selected columns should be removed or kept.
|
void |
setMakeBinary(boolean makeBinary)
Sets whether binary attributes should be made for discretized ones.
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
void |
setUseBinNumbers(boolean useBinNumbers)
Sets whether bin numbers rather than ranges should be used for discretized
attributes.
|
void |
setUseEqualFrequency(boolean newUseEqualFrequency)
Set the value of UseEqualFrequency.
|
java.lang.String |
useBinNumbersTipText()
Returns the tip text for this property
|
java.lang.String |
useEqualFrequencyTipText()
Returns the tip text for this property
|
getIgnoreClass, getOutputFormat, ignoreClassTipText, setIgnoreClassbatchFilterFile, debugTipText, doNotCheckCapabilitiesTipText, filterFile, getCapabilities, getDebug, getDoNotCheckCapabilities, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, toString, useFilter, wekaStaticWrapperpublic Discretize()
public Discretize(java.lang.String cols)
cols - the attribute indicespublic java.util.Enumeration<Option> listOptions()
listOptions in interface OptionHandlerlistOptions in class PotentialClassIgnorerpublic void setOptions(java.lang.String[] options)
throws java.lang.Exception
-unset-class-temporarily Unsets the class index temporarily before the filter is applied to the data. (default: no)
-B <num> Specifies the (maximum) number of bins to divide numeric attributes into. (default = 10)
-M <num> Specifies the desired weight of instances per bin for equal-frequency binning. If this is set to a positive number then the -B option will be ignored. (default = -1)
-F Use equal-frequency instead of equal-width discretization.
-O Optimize number of bins using leave-one-out estimate of estimated entropy (for equal-width discretization). If this is set then the -B option will be ignored.
-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.
-Y Use bin numbers rather than ranges for discretized attributes.
setOptions in interface OptionHandlersetOptions in class PotentialClassIgnoreroptions - the list of options as an array of stringsjava.lang.Exception - if an option is not supportedpublic java.lang.String[] getOptions()
getOptions in interface OptionHandlergetOptions in class PotentialClassIgnorerpublic Capabilities getCapabilities()
getCapabilities in interface CapabilitiesHandlergetCapabilities in class FilterCapabilitiespublic boolean setInputFormat(Instances instanceInfo) throws java.lang.Exception
setInputFormat in class PotentialClassIgnorerinstanceInfo - an Instances object containing the input instance
structure (any instances contained in the object are ignored -
only the structure is required).java.lang.Exception - if the input format can't be set successfullypublic boolean input(Instance instance)
public boolean batchFinished()
batchFinished in class Filterjava.lang.IllegalStateException - if no input structure has been definedpublic java.lang.String globalInfo()
public java.lang.String findNumBinsTipText()
public boolean getFindNumBins()
public void setFindNumBins(boolean newFindNumBins)
newFindNumBins - Value to assign to FindNumBins.public java.lang.String makeBinaryTipText()
public boolean getMakeBinary()
public void setMakeBinary(boolean makeBinary)
makeBinary - if binary attributes are to be madepublic java.lang.String useBinNumbersTipText()
public boolean getUseBinNumbers()
public void setUseBinNumbers(boolean useBinNumbers)
useBinNumbers - if bin numbers should be usedpublic java.lang.String desiredWeightOfInstancesPerIntervalTipText()
public double getDesiredWeightOfInstancesPerInterval()
public void setDesiredWeightOfInstancesPerInterval(double newDesiredNumber)
newDesiredNumber - The new DesiredNumber value.public java.lang.String useEqualFrequencyTipText()
public boolean getUseEqualFrequency()
public void setUseEqualFrequency(boolean newUseEqualFrequency)
newUseEqualFrequency - Value to assign to UseEqualFrequency.public java.lang.String binsTipText()
public int getBins()
public void setBins(int numBins)
numBins - the number of binspublic java.lang.String invertSelectionTipText()
public boolean getInvertSelection()
public void setInvertSelection(boolean invert)
invert - the new invert settingpublic java.lang.String attributeIndicesTipText()
public java.lang.String getAttributeIndices()
public void setAttributeIndices(java.lang.String rangeList)
rangeList - a string representing the list of attributes. Since the
string will typically come from a user, attributes are indexed
from 1. java.lang.IllegalArgumentException - if an invalid range list is suppliedpublic void setAttributeIndicesArray(int[] attributes)
attributes - an array containing indexes of attributes to Discretize.
Since the array will typically come from a program, attributes are
indexed from 0.java.lang.IllegalArgumentException - if an invalid set of ranges is suppliedpublic double[] getCutPoints(int attributeIndex)
attributeIndex - the index (from 0) of the attribute to get the cut
points ofpublic java.lang.String getBinRangesString(int attributeIndex)
attributeIndex - the index (from 0) of the attribute to get the bin
ranges string ofpublic java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class Filterpublic static void main(java.lang.String[] argv)
argv - should contain arguments to the filter: use -h for help