public class Discretize extends Filter implements SupervisedFilter, OptionHandler, WeightedInstancesHandler, TechnicalInformationHandler
@inproceedings{Fayyad1993, author = {Usama M. Fayyad and Keki B. Irani}, booktitle = {Thirteenth International Joint Conference on Articial Intelligence}, pages = {1022-1027}, publisher = {Morgan Kaufmann Publishers}, title = {Multi-interval discretization of continuousvalued attributes for classification learning}, volume = {2}, year = {1993} } @inproceedings{Kononenko1995, author = {Igor Kononenko}, booktitle = {14th International Joint Conference on Articial Intelligence}, pages = {1034-1040}, title = {On Biases in Estimating Multi-Valued Attributes}, year = {1995}, PS = {http://ai.fri.uni-lj.si/papers/kononenko95-ijcai.ps.gz} }Valid options are:
-R <col1,col2-col4,...> Specifies list of columns to Discretize. First and last are valid indexes. (default none)
-V Invert matching sense of column indexes.
-D Output binary attributes for discretized attributes.
-E Use better encoding of split point for MDL.
-K Use Kononenko's MDL criterion.
Modifier and Type | Field and Description |
---|---|
protected double[][] |
m_CutPoints
Store the current cutpoints
|
protected Range |
m_DiscretizeCols
Stores which columns to Discretize
|
protected boolean |
m_MakeBinary
Output binary attributes for discretized attributes.
|
protected boolean |
m_UseBetterEncoding
Use better encoding of split point for MDL.
|
protected boolean |
m_UseKononenko
Use Kononenko's MDL criterion instead of Fayyad et al.'s
|
m_FirstBatchDone, m_InputRelAtts, m_InputStringAtts, m_NewBatch, m_OutputRelAtts, m_OutputStringAtts
Constructor and Description |
---|
Discretize()
Constructor - initialises the filter
|
Modifier and Type | Method and Description |
---|---|
String |
attributeIndicesTipText()
Returns the tip text for this property
|
boolean |
batchFinished()
Signifies that this batch of input to the filter is finished.
|
protected void |
calculateCutPoints()
Generate the cutpoints for each attribute
|
protected void |
calculateCutPointsByMDL(int index,
Instances data)
Set cutpoints for a single attribute using MDL.
|
protected void |
convertInstance(Instance instance)
Convert a single instance over.
|
String |
getAttributeIndices()
Gets the current range selection
|
Capabilities |
getCapabilities()
Returns the Capabilities of this filter.
|
double[] |
getCutPoints(int attributeIndex)
Gets the cut points for an attribute
|
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.
|
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 |
getUseBetterEncoding()
Gets whether better encoding is to be used for MDL.
|
boolean |
getUseKononenko()
Gets whether Kononenko's MDL criterion is to be used.
|
String |
globalInfo()
Returns a string describing this filter
|
boolean |
input(Instance instance)
Input an instance for filtering.
|
String |
invertSelectionTipText()
Returns the tip text for this property
|
Enumeration |
listOptions()
Gets an enumeration describing the available options.
|
static void |
main(String[] argv)
Main method for testing this class.
|
String |
makeBinaryTipText()
Returns the tip text for this property
|
void |
setAttributeIndices(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).
|
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(String[] options)
Parses a given list of options.
|
protected void |
setOutputFormat()
Set the output format.
|
void |
setUseBetterEncoding(boolean useBetterEncoding)
Sets whether better encoding is to be used for MDL.
|
void |
setUseKononenko(boolean useKon)
Sets whether Kononenko's MDL criterion is to be used.
|
String |
useBetterEncodingTipText()
Returns the tip text for this property
|
String |
useKononenkoTipText()
Returns the tip text for this property
|
batchFilterFile, bufferInput, copyValues, copyValues, filterFile, flushInput, getCapabilities, getInputFormat, getOutputFormat, initInputLocators, initOutputLocators, inputFormatPeek, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, numPendingOutput, output, outputFormatPeek, outputPeek, push, resetQueue, runFilter, setOutputFormat, testInputFormat, toString, useFilter, wekaStaticWrapper
protected Range m_DiscretizeCols
protected double[][] m_CutPoints
protected boolean m_MakeBinary
protected boolean m_UseBetterEncoding
protected boolean m_UseKononenko
public Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(String[] options) throws Exception
-R <col1,col2-col4,...> Specifies list of columns to Discretize. First and last are valid indexes. (default none)
-V Invert matching sense of column indexes.
-D Output binary attributes for discretized attributes.
-E Use better encoding of split point for MDL.
-K Use Kononenko's MDL criterion.
setOptions
in interface OptionHandler
options
- the list of options as an array of stringsException
- if an option is not supportedpublic String[] getOptions()
getOptions
in interface OptionHandler
public Capabilities getCapabilities()
getCapabilities
in interface CapabilitiesHandler
getCapabilities
in class Filter
Capabilities
public boolean setInputFormat(Instances instanceInfo) throws Exception
setInputFormat
in class Filter
instanceInfo
- an Instances object containing the input instance
structure (any instances contained in the object are ignored - only the
structure is required).Exception
- if the input format can't be set successfullypublic boolean input(Instance instance)
input
in class Filter
instance
- the input instanceIllegalStateException
- if no input format has been defined.public boolean batchFinished()
batchFinished
in class Filter
IllegalStateException
- if no input structure has been definedpublic String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface TechnicalInformationHandler
public String makeBinaryTipText()
public boolean getMakeBinary()
public void setMakeBinary(boolean makeBinary)
makeBinary
- if binary attributes are to be madepublic String useKononenkoTipText()
public boolean getUseKononenko()
public void setUseKononenko(boolean useKon)
useKon
- true if Kononenko's one is to be usedpublic String useBetterEncodingTipText()
public boolean getUseBetterEncoding()
public void setUseBetterEncoding(boolean useBetterEncoding)
useBetterEncoding
- true if better encoding to be used.public String invertSelectionTipText()
public boolean getInvertSelection()
public void setInvertSelection(boolean invert)
invert
- the new invert settingpublic String attributeIndicesTipText()
public String getAttributeIndices()
public void setAttributeIndices(String rangeList)
rangeList
- a string representing the list of attributes. Since
the string will typically come from a user, attributes are indexed from
1. 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.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 ofprotected void calculateCutPoints()
protected void calculateCutPointsByMDL(int index, Instances data)
index
- the index of the attribute to set cutpoints fordata
- the data to work withprotected void setOutputFormat()
protected void convertInstance(Instance instance)
instance
- the instance to convertpublic String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class Filter
public static void main(String[] argv)
argv
- should contain arguments to the filter: use -h for helpCopyright © 2015 University of Waikato, Hamilton, NZ. All rights reserved.