Class AddCluster
- java.lang.Object
-
- weka.filters.Filter
-
- weka.filters.unsupervised.attribute.AddCluster
-
- All Implemented Interfaces:
java.io.Serializable
,CapabilitiesHandler
,OptionHandler
,RevisionHandler
,UnsupervisedFilter
public class AddCluster extends Filter implements UnsupervisedFilter, OptionHandler
A filter that adds a new nominal attribute representing the cluster assigned to each instance by the specified clustering algorithm. Valid options are:-W <clusterer specification> Full class name of clusterer to use, followed by scheme options. eg: "weka.clusterers.SimpleKMeans -N 3" (default: weka.clusterers.SimpleKMeans)
-I <att1,att2-att4,...> The range of attributes the clusterer should ignore.
- Version:
- $Revision: 1.13 $
- Author:
- Richard Kirkby (rkirkby@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AddCluster()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
batchFinished()
Signify that this batch of input to the filter is finished.java.lang.String
clustererTipText()
Returns the tip text for this propertyCapabilities
getCapabilities()
Returns the Capabilities of this filter.Capabilities
getCapabilities(Instances data)
Returns the Capabilities of this filter, makes sure that the class is never set (for the clusterer).Clusterer
getClusterer()
Gets the clusterer used by the filter.java.lang.String
getIgnoredAttributeIndices()
Gets ranges of attributes to be ignored.java.lang.String[]
getOptions()
Gets the current settings of the filter.java.lang.String
getRevision()
Returns the revision string.java.lang.String
globalInfo()
Returns a string describing this filterjava.lang.String
ignoredAttributeIndicesTipText()
Returns the tip text for this propertyboolean
input(Instance instance)
Input an instance for filtering.java.util.Enumeration
listOptions()
Returns an enumeration describing the available options.static void
main(java.lang.String[] argv)
Main method for testing this class.void
setClusterer(Clusterer clusterer)
Sets the clusterer to assign clusters with.void
setIgnoredAttributeIndices(java.lang.String rangeList)
Sets the ranges of attributes to be ignored.boolean
setInputFormat(Instances instanceInfo)
Sets the format of the input instances.void
setOptions(java.lang.String[] options)
Parses a given list of options.-
Methods inherited from class weka.filters.Filter
batchFilterFile, filterFile, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, numPendingOutput, output, outputPeek, toString, useFilter, wekaStaticWrapper
-
-
-
-
Method Detail
-
getCapabilities
public Capabilities getCapabilities(Instances data)
Returns the Capabilities of this filter, makes sure that the class is never set (for the clusterer).- Overrides:
getCapabilities
in classFilter
- Parameters:
data
- the data to use for customization- Returns:
- the capabilities of this object, based on the data
- See Also:
getCapabilities()
-
getCapabilities
public Capabilities getCapabilities()
Returns the Capabilities of this filter.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classFilter
- Returns:
- the capabilities of this object
- See Also:
Capabilities
-
setInputFormat
public boolean setInputFormat(Instances instanceInfo) throws java.lang.Exception
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:
java.lang.Exception
- if the inputFormat can't be set successfully
-
batchFinished
public boolean batchFinished() throws java.lang.Exception
Signify that this batch of input to the filter is finished.- Overrides:
batchFinished
in classFilter
- Returns:
- true if there are instances pending output
- Throws:
java.lang.IllegalStateException
- if no input structure has been definedjava.lang.NullPointerException
- if no input structure has been defined,java.lang.Exception
- if there was a problem finishing the batch.
-
input
public boolean input(Instance instance) throws java.lang.Exception
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:
java.lang.IllegalStateException
- if no input format has been defined.java.lang.NullPointerException
- if the input format has not been defined.java.lang.Exception
- if the input instance was not of the correct format or if there was a problem with the filtering.
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.Exception
Parses a given list of options. Valid options are:-W <clusterer specification> Full class name of clusterer to use, followed by scheme options. eg: "weka.clusterers.SimpleKMeans -N 3" (default: weka.clusterers.SimpleKMeans)
-I <att1,att2-att4,...> The range of attributes the clusterer should ignore.
- Specified by:
setOptions
in interfaceOptionHandler
- Parameters:
options
- the list of options as an array of strings- Throws:
java.lang.Exception
- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the filter.- Specified by:
getOptions
in interfaceOptionHandler
- Returns:
- an array of strings suitable for passing to setOptions
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this filter- Returns:
- a description of the filter suitable for displaying in the explorer/experimenter gui
-
clustererTipText
public java.lang.String clustererTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setClusterer
public void setClusterer(Clusterer clusterer)
Sets the clusterer to assign clusters with.- Parameters:
clusterer
- The clusterer to be used (with its options set).
-
getClusterer
public Clusterer getClusterer()
Gets the clusterer used by the filter.- Returns:
- The clusterer being used.
-
ignoredAttributeIndicesTipText
public java.lang.String ignoredAttributeIndicesTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getIgnoredAttributeIndices
public java.lang.String getIgnoredAttributeIndices()
Gets ranges of attributes to be ignored.- Returns:
- a string containing a comma-separated list of ranges
-
setIgnoredAttributeIndices
public void setIgnoredAttributeIndices(java.lang.String rangeList)
Sets the ranges of attributes to be ignored. If provided string is null, no attributes will be ignored.- Parameters:
rangeList
- a string representing the list of attributes. eg: first-3,5,6-last- Throws:
java.lang.IllegalArgumentException
- if an invalid range list is supplied
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classFilter
- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class.- Parameters:
argv
- should contain arguments to the filter: use -h for help
-
-