com.rapidminer.operator.visualization
Class ProcessLogOperator

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.visualization.ProcessLogOperator
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler

public class ProcessLogOperator
extends Operator

This operator records almost arbitrary data. It can be written to a file which can then be read, e.g., by gnuplot. Alternatively, the collected data can be plotted by the GUI. This is even possible during process runtime (i.e. online plotting).
Parameters in the list log are interpreted as follows: The key gives the name for the column name (e.g. for use in the plotter). The value specifies where to retrieve the value from. This is best explained by an example:

Each time the ProcessLogOperator is applied, all the values and parameters specified by the list log are collected and stored in a data row. When the process finishes, the operator writes the collected data rows to a file (if specified). In GUI mode, 2D or 3D plots are automatically generated and displayed in the result viewer.
Please refer to section Advanced Processes/Parameter and performance analysis for an example application.

Author:
Simon Fischer, Ingo Mierswa ingomierswa Exp $
To do:
Use IOObjects for logging as well (e.g. PerformanceVector)

Field Summary
static java.lang.String PARAMETER_COLUMN_NAME
          The parameter name for "operator.OPERATORNAME.
static java.lang.String PARAMETER_FILENAME
           
static java.lang.String PARAMETER_LOG
           
static java.lang.String PARAMETER_PERSISTENT
           
static java.lang.String PARAMETER_SORTING_DIMENSION
           
static java.lang.String PARAMETER_SORTING_K
           
static java.lang.String PARAMETER_SORTING_TYPE
           
static int SORTING_TYPE_BOTTOM_K
           
static int SORTING_TYPE_NONE
           
static int SORTING_TYPE_TOP_K
           
static java.lang.String[] SORTING_TYPES
           
 
Constructor Summary
ProcessLogOperator(OperatorDescription description)
           
 
Method Summary
 IOObject[] apply()
          Implement this method in subclasses.
 void createDataTable()
           
 java.lang.Class<?>[] getInputClasses()
          Returns the classes that are needed as input.
 java.lang.Class<?>[] getOutputClasses()
          Returns the classes that are guaranteed to be returned by apply() as additional output.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 void processFinished()
          Called at the end of the process.
 
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, 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
 

Field Detail

PARAMETER_COLUMN_NAME

public static final java.lang.String PARAMETER_COLUMN_NAME
The parameter name for "operator.OPERATORNAME.[value|parameter].VALUE_NAME"

See Also:
Constant Field Values

PARAMETER_FILENAME

public static final java.lang.String PARAMETER_FILENAME
See Also:
Constant Field Values

PARAMETER_LOG

public static final java.lang.String PARAMETER_LOG
See Also:
Constant Field Values

PARAMETER_PERSISTENT

public static final java.lang.String PARAMETER_PERSISTENT
See Also:
Constant Field Values

PARAMETER_SORTING_TYPE

public static final java.lang.String PARAMETER_SORTING_TYPE
See Also:
Constant Field Values

PARAMETER_SORTING_DIMENSION

public static final java.lang.String PARAMETER_SORTING_DIMENSION
See Also:
Constant Field Values

PARAMETER_SORTING_K

public static final java.lang.String PARAMETER_SORTING_K
See Also:
Constant Field Values

SORTING_TYPES

public static final java.lang.String[] SORTING_TYPES

SORTING_TYPE_NONE

public static final int SORTING_TYPE_NONE
See Also:
Constant Field Values

SORTING_TYPE_TOP_K

public static final int SORTING_TYPE_TOP_K
See Also:
Constant Field Values

SORTING_TYPE_BOTTOM_K

public static final int SORTING_TYPE_BOTTOM_K
See Also:
Constant Field Values
Constructor Detail

ProcessLogOperator

public ProcessLogOperator(OperatorDescription description)
Method Detail

createDataTable

public void createDataTable()
                     throws OperatorException
Throws:
OperatorException

getInputClasses

public java.lang.Class<?>[] getInputClasses()
Description copied from class: Operator
Returns the classes that are needed as input. May be null or an empty (no desired input). As default, all delivered input objects are consumed and must be also delivered as output in both Operator.getOutputClasses() and Operator.apply() if this is necessary. This default behavior can be changed by overriding Operator.getInputDescription(Class). Subclasses which implement this method should not make use of parameters since this method is invoked by getParameterTypes(). Therefore, parameters are not fully available at this point of time and this might lead to exceptions. Please use InputDescriptions instead.

Specified by:
getInputClasses in class Operator

getOutputClasses

public java.lang.Class<?>[] getOutputClasses()
Description copied from class: Operator

Returns the classes that are guaranteed to be returned by apply() as additional output. Please note that input objects which should not be consumed must also be defined by this method (e.g. an example set which is changed but not consumed in the case of a preprocessing operator must be defined in both, the methods Operator.getInputClasses() and Operator.getOutputClasses()). The default behavior for input consumation is defined by Operator.getInputDescription(Class) and can be changed by overwriting this method. Objects which are not consumed (defined by changing the implementation in Operator.getInputDescription(Class)) must not be defined as additional output in this method.

May deliver null or an empy array (no additional output is produced or guaranteed). Must return the class array of delivered output objects otherwise.

Specified by:
getOutputClasses in class Operator

apply

public IOObject[] apply()
                 throws OperatorException
Description copied from class: Operator
Implement this method in subclasses.

Specified by:
apply in class Operator
Throws:
OperatorException

processFinished

public void processFinished()
                     throws OperatorException
Description copied from class: Operator
Called at the end of the process. The default implementation does nothing.

Overrides:
processFinished in class Operator
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