weka.filters
Class EmptyAttributeFilter

java.lang.Object
  |
  +--weka.filters.Filter
        |
        +--weka.filters.EmptyAttributeFilter
All Implemented Interfaces:
java.io.Serializable

public class EmptyAttributeFilter
extends Filter

Removes all attributes that do not contain more than one distinct value. This determination is made based on the first batch of instances seen. If an attribute contains one distinct value and missing values, this is still taken as being empty.

Author:
Stuart Inglis (stuart@intelligenesis.net)
See Also:
Serialized Form

Fields inherited from class weka.filters.Filter
m_NewBatch
 
Constructor Summary
EmptyAttributeFilter()
           
 
Method Summary
 boolean batchFinished()
          Signify that this batch of input to the filter is finished.
 boolean input(Instance instance)
          Input an instance for filtering.
static void main(java.lang.String[] argv)
          Main method for testing this class.
 boolean setInputFormat(Instances instanceInfo)
          Sets the format of the input instances.
 
Methods inherited from class weka.filters.Filter
batchFilterFile, bufferInput, copyStringValues, copyStringValues, filterFile, flushInput, getInputFormat, getInputStringIndex, getOutputFormat, getOutputStringIndex, getStringIndices, inputFormat, isOutputFormatDefined, numPendingOutput, output, outputFormat, outputFormatPeek, outputPeek, push, resetQueue, setOutputFormat, useFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EmptyAttributeFilter

public EmptyAttributeFilter()
Method Detail

setInputFormat

public boolean setInputFormat(Instances instanceInfo)
                       throws java.lang.Exception
Sets the format of the input instances.
Overrides:
setInputFormat in class Filter
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 input format can't be set successfully

input

public boolean input(Instance instance)
Input an instance for filtering. Filter requires all training instances be read before producing output.
Overrides:
input in class Filter
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.

batchFinished

public boolean batchFinished()
Signify that this batch of input to the filter is finished. If the filter requires all instances prior to filtering, output() may now be called to retrieve the filtered instances.
Overrides:
batchFinished in class Filter
Returns:
true if there are instances pending output
Throws:
java.lang.IllegalStateException - if no input structure has been defined

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