com.rapidminer.operator.features.construction
Class AttributeConstruction
java.lang.Object
com.rapidminer.operator.Operator
com.rapidminer.operator.AbstractExampleSetProcessing
com.rapidminer.operator.features.AbstractFeatureProcessing
com.rapidminer.operator.features.construction.AbstractFeatureConstruction
com.rapidminer.operator.features.construction.AttributeConstruction
- All Implemented Interfaces:
- ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler
public class AttributeConstruction
- extends AbstractFeatureConstruction
This operator constructs new attributes from the attributes of the input
example set. The names of the new attributes and their construction description
are defined in the parameter list "functions".
The following operators are supported:
- Addition: +
- Subtraction: -
- Multiplication: *
- Division: /
- Power: ^
- Modulus: %
- Less Than: <
- Greater Than: >
- Less or Equal: <=
- More or Equal: >=
- Equal: ==
- Not Equal: !=
- Boolean Not: !
- Boolean And: two ampers and
- Boolean Or: ||
The following log and exponential functions are supported:
- Natural Logarithm: ln(x)
- Logarithm Base 10: log(x)
- Logarithm Dualis (Base 2): ld(x)
- Exponential (e^x): exp(x)
- Power: pow(x,y)
The following trigonometric functions are supported:
- Sine: sin(x)
- Cosine: cos(x)
- Tangent: tan(x)
- Arc Sine: asin(x)
- Arc Cosine: acos(x)
- Arc Tangent: atan(x)
- Arc Tangent (with 2 parameters): atan2(x,y)
- Hyperbolic Sine: sinh(x)
- Hyperbolic Cosine: cosh(x)
- Hyperbolic Tangent: tanh(x)
- Inverse Hyperbolic Sine: asinh(x)
- Inverse Hyperbolic Cosine: acosh(x)
- Inverse Hyperbolic Tangent: atanh(x)
The following statistical functions are supported:
- Round: round(x)
- Round to p decimals: round(x,p)
- Floor: floor(x)
- Ceiling: ceil(x)
- Average: avg(x,y,z...)
- Minimum: min(x,y,z...)
- Maximum: max(x,y,z...)
The following miscellaneous functions are supported:
- If-Then-Else: if(cond,true-evaluation, false-evaluation)
- Absolute: abs(x)
- Square Root: sqrt(x)
- Signum (delivers the sign of a number): sgn(x)
- Random Number (between 0 and 1): rand()
- Modulus (x % y): mod(x,y)
- Sum of k Numbers: sum(x,y,z...)
- Binomial Coefficients: binom(n, i)
- Number to String: str(x)
- String to Number: parse(x)
- Substring: cut(x, start, len)
The following process related functions are supported:
- Retrieving a parameter value: param("operator", "parameter")
Beside those operations and functions, this operator also supports the constants
pi and e if this is indicated by the corresponding parameter (default: true). You can
also use strings in formulas (for example in a conditioned if-formula) but the string
values have to be enclosed in double quotes.
Please note that there are some restrictions for the attribute names in order
to let this operator work properly:
- If the standard constants are usable, attribute names with names like "e" or
"pi" are not allowed.
- Attribute names with function or operator names are also not allowed.
- Attribute names containing parentheses are not allowed.
If these conditions are not fulfilled, the names must be changed beforehand, for example
with the ChangeAttributeName operator.
Examples:
a1+sin(a2*a3)
if (att1>5, att2*att3, -abs(att1))
- Author:
- Ingo Mierswa
|
Field Summary |
static java.lang.String |
PARAMETER_FUNCTIONS
The parameter name for "List of functions to generate. |
static java.lang.String |
PARAMETER_KEEP_ALL
The parameter name for "If set to true, all the original attributes are kept, otherwise they are removed from the example set. |
static java.lang.String |
PARAMETER_USE_STANDARD_CONSTANTS
Indicates if standard constants like e or pi should be available. |
| Methods inherited from class com.rapidminer.operator.Operator |
addError, addValue, addWarning, apply, checkDeprecations, checkForStop, checkIO, checkProperties, clearErrorList, cloneOperator, createExperimentTree, createExperimentTree, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getEncoding, getErrorList, getExperiment, getInnerOperatorsXML, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getIODescription, getLog, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getProcess, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isEnabled, isExpanded, isParallel, isParameterSet, log, logError, logNote, logWarning, performAdditionalChecks, processFinished, processStarts, register, registerOperator, remove, rename, resume, setApplyCount, setBreakpoint, setEnabled, setExpanded, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, unregisterOperator, writeXML |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
PARAMETER_FUNCTIONS
public static final java.lang.String PARAMETER_FUNCTIONS
- The parameter name for "List of functions to generate."
- See Also:
- Constant Field Values
PARAMETER_USE_STANDARD_CONSTANTS
public static final java.lang.String PARAMETER_USE_STANDARD_CONSTANTS
- Indicates if standard constants like e or pi should be available.
- See Also:
- Constant Field Values
PARAMETER_KEEP_ALL
public static final java.lang.String PARAMETER_KEEP_ALL
- The parameter name for "If set to true, all the original attributes are kept, otherwise they are removed from the example set."
- See Also:
- Constant Field Values
AttributeConstruction
public AttributeConstruction(OperatorDescription description)
apply
public ExampleSet apply(ExampleSet exampleSet)
throws OperatorException
- Description copied from class:
AbstractExampleSetProcessing
- Delegate for the apply method. In most cases, the returned example set
will be the same as the example set or a modified clone.
- 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.
- Specified by:
getParameterTypes in interface ParameterHandler- Overrides:
getParameterTypes in class Operator
Copyright © 2001-2009 by Rapid-I