com.rapidminer.operator.preprocessing.filter
Class ExampleFilter

java.lang.Object
  extended by com.rapidminer.tools.AbstractObservable<Operator>
      extended by com.rapidminer.operator.Operator
          extended by com.rapidminer.operator.AbstractExampleSetProcessing
              extended by com.rapidminer.operator.preprocessing.AbstractDataProcessing
                  extended by com.rapidminer.operator.preprocessing.filter.ExampleFilter
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ResourceConsumer, ParameterHandler, LoggingHandler, Observable<Operator>

public class ExampleFilter
extends AbstractDataProcessing

This operator takes an ExampleSet as input and returns a new ExampleSet including only the Examples that fulfill a condition.

By specifying an implementation of Condition and a parameter string, arbitrary filters can be applied. Users can implement their own conditions by writing a subclass of the above class and implementing a two argument constructor taking an ExampleSet and a parameter string. This parameter string is specified by the parameter parameter_string. Instead of using one of the predefined conditions users can define their own implementation with the fully qualified class name.

For "attribute_value_condition" the parameter string must have the form attribute op value, where attribute is a name of an attribute, value is a value the attribute can take and op is one of the binary logical operators similar to the ones known from Java, e.g. greater than or equals. Please note your can define a logical OR of several conditions with || and a logical AND of two conditions with two ampers and - or simply by applying several ExampleFilter operators in a row. Please note also that for nominal attributes you can define a regular expression for value of the possible equal and not equal checks.

For "unknown_attributes" the parameter string must be empty. This filter removes all examples containing attributes that have missing or illegal values. For "unknown_label" the parameter string must also be empty. This filter removes all examples with an unknown label value.

Author:
Ingo Mierswa, Simon Fischer

Field Summary
static java.lang.String PARAMETER_CONDITION_CLASS
          The parameter name for "Implementation of the condition.
static java.lang.String PARAMETER_INVERT_FILTER
          The parameter name for "Indicates if only examples should be accepted which would normally filtered.
static java.lang.String PARAMETER_PARAMETER_STRING
          The parameter name for "Parameter string for the condition, e.g.
 
Constructor Summary
ExampleFilter(OperatorDescription description)
           
 
Method Summary
 ExampleSet apply(ExampleSet inputSet)
          Delegate for the apply method.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 ResourceConsumptionEstimator getResourceConsumptionEstimator()
          Subclasses can override this method if they are able to estimate the consumed resources (CPU time and memory), based on their input.
 ExampleSetMetaData modifyMetaData(ExampleSetMetaData emd)
          Subclasses might override this method to define the meta data transformation performed by this operator.
 boolean writesIntoExistingData()
          This method indicates whether the operator will perform a write operation on a cell in an existing column of the example set's ExampleTable.
 
Methods inherited from class com.rapidminer.operator.AbstractExampleSetProcessing
doWork, getExampleSetInputPort, getExampleSetOutputPort, getInputPort, getRequiredMetaData, shouldAutoConnect
 
Methods inherited from class com.rapidminer.operator.Operator
acceptsInput, addError, addError, addValue, addWarning, apply, apply, assumePreconditionsSatisfied, checkAll, checkAllExcludingMetaData, checkDeprecations, checkForStop, checkIO, checkProperties, clear, clearErrorList, cloneOperator, collectErrors, createExperimentTree, createExperimentTree, createFromXML, createFromXML, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, disconnectPorts, execute, fireUpdate, freeMemory, getAddOnlyAdditionalOutput, getApplyCount, getCompatibilityLevel, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getDOMRepresentation, getEncoding, getErrorList, getExecutionUnit, getExperiment, getIncompatibleVersionChanges, getInput, getInput, getInput, getInputClasses, getInputDescription, getInputPorts, getIODescription, getLog, getLogger, getName, getNumberOfBreakpoints, getOperatorClassName, getOperatorDescription, getOutputClasses, getOutputPorts, getParameter, getParameterAsBoolean, getParameterAsChar, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsRepositoryLocation, getParameterAsString, getParameterHandler, getParameterList, getParameters, getParameterTupel, getParameterType, getParent, getPortOwner, getProcess, getRoot, getStartTime, getTransformer, getUserDescription, getValue, getValues, getXML, getXML, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isDirty, isEnabled, isExpanded, isParallel, isParameterSet, isRunning, log, log, logError, logNote, logWarning, lookupOperator, makeDirty, makeDirtyOnUpdate, notifyRenaming, performAdditionalChecks, preAutoWire, processFinished, processStarts, producesOutput, propagateDirtyness, register, registerOperator, remove, removeAndKeepConnections, rename, resume, setBreakpoint, setCompatibilityLevel, setEnabled, setEnclosingProcess, setExpanded, setInput, setListParameter, setPairParameter, setParameter, setParameters, setUserDescription, shouldAutoConnect, shouldStopStandaloneExecution, toString, transformMetaData, unregisterOperator, updateExecutionOrder, walk, writeXML, writeXML
 
Methods inherited from class com.rapidminer.tools.AbstractObservable
addObserver, addObserverAsFirst, fireUpdate, removeObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PARAMETER_CONDITION_CLASS

public static final java.lang.String PARAMETER_CONDITION_CLASS
The parameter name for "Implementation of the condition."

See Also:
Constant Field Values

PARAMETER_PARAMETER_STRING

public static final java.lang.String PARAMETER_PARAMETER_STRING
The parameter name for "Parameter string for the condition, e.g. 'attribute=value' for the AttributeValueFilter."

See Also:
Constant Field Values

PARAMETER_INVERT_FILTER

public static final java.lang.String PARAMETER_INVERT_FILTER
The parameter name for "Indicates if only examples should be accepted which would normally filtered."

See Also:
Constant Field Values
Constructor Detail

ExampleFilter

public ExampleFilter(OperatorDescription description)
Method Detail

modifyMetaData

public ExampleSetMetaData modifyMetaData(ExampleSetMetaData emd)
Description copied from class: AbstractExampleSetProcessing
Subclasses might override this method to define the meta data transformation performed by this operator.

Overrides:
modifyMetaData in class AbstractExampleSetProcessing

apply

public ExampleSet apply(ExampleSet inputSet)
                 throws OperatorException
Description copied from class: AbstractExampleSetProcessing
Delegate for the apply method. The given ExampleSet is already a clone of the input example set so that changing this examples set does not affect the original one. Subclasses should avoid cloning again unnecessarily.

Specified by:
apply in class AbstractExampleSetProcessing
Throws:
OperatorException

getParameterTypes

public java.util.List<ParameterType> getParameterTypes()
Description copied from class: Operator
Returns a list of ParameterTypes describing the parameters of this operator. The default implementation returns an empty list if no input objects can be retained and special parameters for those input objects which can be prevented from being consumed. ATTENTION! This will create new parameterTypes. For calling already existing parameter types use getParameters().getParameterTypes();

Specified by:
getParameterTypes in interface ParameterHandler
Overrides:
getParameterTypes in class Operator

writesIntoExistingData

public boolean writesIntoExistingData()
Description copied from class: AbstractExampleSetProcessing
This method indicates whether the operator will perform a write operation on a cell in an existing column of the example set's ExampleTable. If yes, the original example will be completely copied in memory if the original port is used.

Specified by:
writesIntoExistingData in class AbstractExampleSetProcessing

getResourceConsumptionEstimator

public ResourceConsumptionEstimator getResourceConsumptionEstimator()
Description copied from class: Operator
Subclasses can override this method if they are able to estimate the consumed resources (CPU time and memory), based on their input. The default implementation returns null.

Specified by:
getResourceConsumptionEstimator in interface ResourceConsumer
Overrides:
getResourceConsumptionEstimator in class Operator


Copyright © 2001-2009 by Rapid-I