Class EquiDistance
- java.lang.Object
-
- weka.filters.Filter
-
- weka.filters.SimpleFilter
-
- weka.filters.SimpleBatchFilter
-
- weka.filters.unsupervised.attribute.EquiDistance
-
- All Implemented Interfaces:
Serializable
,weka.core.CapabilitiesHandler
,weka.core.CapabilitiesIgnorer
,weka.core.CommandlineRunnable
,weka.core.OptionHandler
,weka.core.RevisionHandler
public class EquiDistance extends weka.filters.SimpleBatchFilter
A filter for interpolating the numeric attributes.Using the same number of points as are currently present in the input will have no effect.
Valid options are:-num-points <value> The number of points to generate, '-1' will use the same amount of points as currently in the input data. (default: -1)
-att-sel <value> Determines how the attributes are selected. (default: RANGE)
-range <value> The range of attributes to use, if RANGE selected. (default: range=first-last, max=-1, inv=false)
-regexp <value> The regular expression for identifying the attributes via their name, if REGEXP selected. (default: .*)
-prefix <value> The prefix to use for the new attributes; 1-based index gets appended. (default: att-)
-output-debug-info If set, filter is run in debug mode and may output additional info to the console
-do-not-check-capabilities If set, filter capabilities are not checked before filter is built (use with caution).
- Version:
- $Revision$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EquiDistance.AttributeSelection
Defines how the attributes are selected.
-
Field Summary
Fields Modifier and Type Field Description static String
ATTRIBUTE_SELECTION
the option for the attribute selection.protected gnu.trove.list.TIntList
m_Attributes
the indices of the identified attributes.protected EquiDistance.AttributeSelection
m_AttributeSelection
how to select the attributes.protected double
m_AverageSpacing
the average spacing.protected int
m_NumPoints
the number of points to output ("-1" uses the same amount of points as currently in the data).protected String
m_Prefix
the prefix for the new attributes.protected adams.core.Range
m_Range
the attribute range to use.protected adams.core.base.BaseRegExp
m_RegExp
the regular expression to use.static String
NUM_POINTS
the option for the number of points.static String
PREFIX
the option for the prefix of the new attribute names.static String
RANGE
the option for the attribute range.static String
REGEXP
the option for the attribute regexp.
-
Constructor Summary
Constructors Constructor Description EquiDistance()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
attributeSelectionTipText()
Returns the tip text for this property.protected weka.core.Instances
determineOutputFormat(weka.core.Instances inputFormat)
Determines the output format based on the input format and returns this.EquiDistance.AttributeSelection
getAttributeSelection()
Returns how the attributes get selected.weka.core.Capabilities
getCapabilities()
Returns the Capabilities of this filter.protected EquiDistance.AttributeSelection
getDefaultAttributeSelection()
Returns the default attribute selection.protected int
getDefaultNumPoints()
Returns the default number of points.protected String
getDefaultPrefix()
Returns the default prefix for the new attributes.protected adams.core.Range
getDefaultRange()
Returns the default attribute range.protected adams.core.base.BaseRegExp
getDefaultRegExp()
Returns the default regular expression for identifying attributes.int
getNumPoints()
Returns the number of points to output.String[]
getOptions()
Gets the current option settings for the OptionHandler.String
getPrefix()
Returns the prefix for the new attributes.adams.core.Range
getRange()
Returns the attribute range.adams.core.base.BaseRegExp
getRegExp()
Returns the regular expression for identifying attributes.String
globalInfo()
Returns a string describing this filter.protected double
interpolate(double index, int indexLeft, double valueLeft, int indexRight, double valueRight)
Returns interpolated value.Enumeration
listOptions()
Returns an enumeration describing the available options.static void
main(String[] args)
Main method for testing this class.String
numPointsTipText()
Returns the tip text for this property.String
prefixTipText()
Returns the tip text for this property.protected weka.core.Instances
process(weka.core.Instances instances)
Processes the given data (may change the provided dataset) and returns the modified version.protected weka.core.Instance
process(weka.core.Instances header, weka.core.Instance instance)
processes the given instance (may change the provided instance) and returns the modified version.String
rangeTipText()
Returns the tip text for this property.String
regExpTipText()
Returns the tip text for this property.protected void
reset()
Resets the filter.void
setAttributeSelection(EquiDistance.AttributeSelection value)
Sets how the attributes get selected.void
setNumPoints(int value)
Sets the number of points to use.void
setOptions(String[] options)
Sets the OptionHandler's options using the given list.void
setPrefix(String value)
Sets the prefix for the new attributes.void
setRange(adams.core.Range value)
Sets the attribute range.void
setRegExp(adams.core.base.BaseRegExp value)
Sets the regular expression for identifying attributes.-
Methods inherited from class weka.filters.SimpleBatchFilter
allowAccessToFullInputFormat, batchFinished, hasImmediateOutputFormat, input
-
Methods inherited from class weka.filters.Filter
batchFilterFile, bufferInput, copyValues, copyValues, debugTipText, doNotCheckCapabilitiesTipText, filterFile, flushInput, getCapabilities, getDebug, getDoNotCheckCapabilities, getInputFormat, getOutputFormat, getRevision, initInputLocators, initOutputLocators, inputFormatPeek, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputFormatPeek, outputPeek, postExecution, preExecution, push, push, resetQueue, run, runFilter, setDebug, setDoNotCheckCapabilities, setOutputFormat, testInputFormat, toString, useFilter, wekaStaticWrapper
-
-
-
-
Field Detail
-
NUM_POINTS
public static final String NUM_POINTS
the option for the number of points.- See Also:
- Constant Field Values
-
ATTRIBUTE_SELECTION
public static final String ATTRIBUTE_SELECTION
the option for the attribute selection.- See Also:
- Constant Field Values
-
RANGE
public static final String RANGE
the option for the attribute range.- See Also:
- Constant Field Values
-
REGEXP
public static final String REGEXP
the option for the attribute regexp.- See Also:
- Constant Field Values
-
PREFIX
public static final String PREFIX
the option for the prefix of the new attribute names.- See Also:
- Constant Field Values
-
m_NumPoints
protected int m_NumPoints
the number of points to output ("-1" uses the same amount of points as currently in the data).
-
m_AttributeSelection
protected EquiDistance.AttributeSelection m_AttributeSelection
how to select the attributes.
-
m_Range
protected adams.core.Range m_Range
the attribute range to use.
-
m_RegExp
protected adams.core.base.BaseRegExp m_RegExp
the regular expression to use.
-
m_Prefix
protected String m_Prefix
the prefix for the new attributes.
-
m_Attributes
protected gnu.trove.list.TIntList m_Attributes
the indices of the identified attributes.
-
m_AverageSpacing
protected double m_AverageSpacing
the average spacing.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing this filter.- Specified by:
globalInfo
in classweka.filters.SimpleFilter
- Returns:
- a description of the filter suitable for displaying in the explorer/experimenter gui
-
reset
protected void reset()
Resets the filter.- Overrides:
reset
in classweka.filters.SimpleFilter
-
getDefaultNumPoints
protected int getDefaultNumPoints()
Returns the default number of points.- Returns:
- the default
-
setNumPoints
public void setNumPoints(int value)
Sets the number of points to use.- Parameters:
value
- the number of points
-
getNumPoints
public int getNumPoints()
Returns the number of points to output.- Returns:
- the number of points
-
numPointsTipText
public String numPointsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
getDefaultAttributeSelection
protected EquiDistance.AttributeSelection getDefaultAttributeSelection()
Returns the default attribute selection.- Returns:
- the default
-
setAttributeSelection
public void setAttributeSelection(EquiDistance.AttributeSelection value)
Sets how the attributes get selected.- Parameters:
value
- the selection
-
getAttributeSelection
public EquiDistance.AttributeSelection getAttributeSelection()
Returns how the attributes get selected.- Returns:
- the selection
-
attributeSelectionTipText
public String attributeSelectionTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
getDefaultRange
protected adams.core.Range getDefaultRange()
Returns the default attribute range.- Returns:
- the default
-
setRange
public void setRange(adams.core.Range value)
Sets the attribute range.- Parameters:
value
- the attribute range- See Also:
getAttributeSelection()
,EquiDistance.AttributeSelection.RANGE
-
getRange
public adams.core.Range getRange()
Returns the attribute range.- Returns:
- the attribute range
- See Also:
getAttributeSelection()
,EquiDistance.AttributeSelection.RANGE
-
rangeTipText
public String rangeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
getDefaultRegExp
protected adams.core.base.BaseRegExp getDefaultRegExp()
Returns the default regular expression for identifying attributes.- Returns:
- the default
-
setRegExp
public void setRegExp(adams.core.base.BaseRegExp value)
Sets the regular expression for identifying attributes.- Parameters:
value
- the expression- See Also:
getAttributeSelection()
,EquiDistance.AttributeSelection.REGEXP
-
getRegExp
public adams.core.base.BaseRegExp getRegExp()
Returns the regular expression for identifying attributes.- Returns:
- the expression
- See Also:
getAttributeSelection()
,EquiDistance.AttributeSelection.REGEXP
-
regExpTipText
public String regExpTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
getDefaultPrefix
protected String getDefaultPrefix()
Returns the default prefix for the new attributes.- Returns:
- the default
-
setPrefix
public void setPrefix(String value)
Sets the prefix for the new attributes.- Parameters:
value
- the prefix
-
getPrefix
public String getPrefix()
Returns the prefix for the new attributes.- Returns:
- the prefix
-
prefixTipText
public String prefixTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the gui
-
listOptions
public Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceweka.core.OptionHandler
- Overrides:
listOptions
in classweka.filters.Filter
- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(String[] options) throws Exception
Sets the OptionHandler's options using the given list. All options will be set (or reset) during this call (i.e. incremental setting of options is not possible).- Specified by:
setOptions
in interfaceweka.core.OptionHandler
- Overrides:
setOptions
in classweka.filters.Filter
- 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 option settings for the OptionHandler.- Specified by:
getOptions
in interfaceweka.core.OptionHandler
- Overrides:
getOptions
in classweka.filters.Filter
- Returns:
- the list of current option settings as an array of strings
-
getCapabilities
public weka.core.Capabilities getCapabilities()
Returns the Capabilities of this filter. Derived filters have to override this method to enable capabilities.- Specified by:
getCapabilities
in interfaceweka.core.CapabilitiesHandler
- Overrides:
getCapabilities
in classweka.filters.Filter
- Returns:
- the capabilities of this object
- See Also:
Capabilities
-
interpolate
protected double interpolate(double index, int indexLeft, double valueLeft, int indexRight, double valueRight)
Returns interpolated value.- Parameters:
index
- the index we have to interpolate forindexLeft
- the index of the "earlier" attributevalueLeft
- the "earlier" attribute valueindexRight
- the index of the "later" attributevalueRight
- the "later" attribute value- Returns:
- the interpolated value
-
determineOutputFormat
protected weka.core.Instances determineOutputFormat(weka.core.Instances inputFormat) throws Exception
Determines the output format based on the input format and returns this. In case the output format cannot be returned immediately, i.e., hasImmediateOutputFormat() returns false, then this method will called from batchFinished() after the call of preprocess(Instances), in which, e.g., statistics for the actual processing step can be gathered.- Specified by:
determineOutputFormat
in classweka.filters.SimpleFilter
- Parameters:
inputFormat
- the input format to base the output format on- Returns:
- the output format
- Throws:
Exception
- in case the determination goes wrong
-
process
protected weka.core.Instance process(weka.core.Instances header, weka.core.Instance instance) throws Exception
processes the given instance (may change the provided instance) and returns the modified version.- Parameters:
instance
- the instance to process- Returns:
- the modified data
- Throws:
Exception
- in case the processing goes wrong
-
process
protected weka.core.Instances process(weka.core.Instances instances) throws Exception
Processes the given data (may change the provided dataset) and returns the modified version. This method is called in batchFinished().- Specified by:
process
in classweka.filters.SimpleFilter
- Parameters:
instances
- the data to process- Returns:
- the modified data
- Throws:
Exception
- in case the processing goes wrong
-
main
public static void main(String[] args)
Main method for testing this class.- Parameters:
args
- should contain arguments to the filter: use -h for help
-
-