Class FirstOrder
java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.FirstOrder
- All Implemented Interfaces:
Serializable
,CapabilitiesHandler
,CapabilitiesIgnorer
,CommandlineRunnable
,OptionHandler
,RevisionHandler
,WeightedInstancesHandler
,StreamableFilter
,UnsupervisedFilter
public class FirstOrder
extends Filter
implements UnsupervisedFilter, StreamableFilter, OptionHandler, WeightedInstancesHandler
This instance filter takes a range of N numeric
attributes and replaces them with N-1 numeric attributes, the values of which
are the difference between consecutive attribute values from the original
instance. eg:
Original attribute values
0.1, 0.2, 0.3, 0.1, 0.3
New attribute values
0.1, 0.1, -0.2, 0.2
The range of attributes used is taken in numeric order. That is, a range spec of 7-11,3-5 will use the attribute ordering 3,4,5,7,8,9,10,11 for the differences, NOT 7,8,9,10,11,3,4,5. Valid options are:
Original attribute values
0.1, 0.2, 0.3, 0.1, 0.3
New attribute values
0.1, 0.1, -0.2, 0.2
The range of attributes used is taken in numeric order. That is, a range spec of 7-11,3-5 will use the attribute ordering 3,4,5,7,8,9,10,11 for the differences, NOT 7,8,9,10,11,3,4,5. Valid options are:
-R <index1,index2-index4,...> Specify list of columns to take the differences between. First and last are valid indexes. (default none)
- Version:
- $Revision: 14508 $
- Author:
- Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the tip text for this propertyGet the current range selectionReturns the Capabilities of this filter.String[]
Gets the current settings of the filter.Returns the revision string.Returns a string describing this filterboolean
Input an instance for filtering.Returns an enumeration describing the available options.static void
Main method for testing this class.void
setAttributeIndices
(String rangeList) Set which attributes are to be deleted (or kept if invert is true)void
setAttributeIndicesArray
(int[] attributes) Set which attributes are to be deleted (or kept if invert is true)boolean
setInputFormat
(Instances instanceInfo) Sets the format of the input instances.void
setOptions
(String[] options) Parses a given list of options.Methods inherited from class weka.filters.Filter
batchFilterFile, batchFinished, debugTipText, doNotCheckCapabilitiesTipText, filterFile, getCapabilities, getCopyOfInputFormat, getDebug, getDoNotCheckCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, toString, useFilter, wekaStaticWrapper
-
Constructor Details
-
FirstOrder
public FirstOrder()
-
-
Method Details
-
globalInfo
Returns a string describing this filter- Returns:
- a description of the filter suitable for displaying in the explorer/experimenter gui
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classFilter
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-R <index1,index2-index4,...> Specify list of columns to take the differences between. First and last are valid indexes. (default none)
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classFilter
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of the filter.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classFilter
- Returns:
- an array of strings suitable for passing to setOptions
-
getCapabilities
Returns the Capabilities of this filter.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classFilter
- Returns:
- the capabilities of this object
- See Also:
-
setInputFormat
Sets the format of the input instances.- Overrides:
setInputFormat
in classFilter
- 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:
UnsupportedAttributeTypeException
- if any of the selected attributes are not numericException
- if only one attribute has been selected.
-
input
Input an instance for filtering. Ordinarily the instance is processed and made available for output immediately. Some filters require all instances be read before producing output.- Overrides:
input
in classFilter
- Parameters:
instance
- the input instance- Returns:
- true if the filtered instance may now be collected with output().
- Throws:
IllegalStateException
- if no input format has been defined.
-
attributeIndicesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getAttributeIndices
Get the current range selection- Returns:
- a string containing a comma separated list of ranges
-
setAttributeIndices
Set which attributes are to be deleted (or kept if invert is true)- 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:
Exception
- if an invalid range list is supplied
-
setAttributeIndicesArray
Set which attributes are to be deleted (or kept if invert is true)- Parameters:
attributes
- an array containing indexes of attributes to select. Since the array will typically come from a program, attributes are indexed from 0.- Throws:
Exception
- if an invalid set of ranges is supplied
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classFilter
- Returns:
- the revision
-
main
Main method for testing this class.- Parameters:
argv
- should contain arguments to the filter: use -h for help
-