com.rapidminer.operator.performance
Class PolynominalClassificationPerformanceEvaluator

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.performance.AbstractPerformanceEvaluator
          extended by com.rapidminer.operator.performance.PolynominalClassificationPerformanceEvaluator
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler

public class PolynominalClassificationPerformanceEvaluator
extends AbstractPerformanceEvaluator

This performance evaluator operator should be used for classification tasks, i.e. in cases where the label attribute has a (poly-)nominal value type. The operator expects a test ExampleSet as input, whose elements have both true and predicted labels, and delivers as output a list of performance values according to a list of performance criteria that it calculates. If an input performance vector was already given, this is used for keeping the performance values.

All of the performance criteria can be switched on using boolean parameters. Their values can be queried by a ProcessLogOperator using the same names. The main criterion is used for comparisons and need to be specified only for processes where performance vectors are compared, e.g. feature selection or other meta optimization process setups. If no other main criterion was selected, the first criterion in the resulting performance vector will be assumed to be the main criterion.

The resulting performance vectors are usually compared with a standard performance comparator which only compares the fitness values of the main criterion. Other implementations than this simple comparator can be specified using the parameter comparator_class. This may for instance be useful if you want to compare performance vectors according to the weighted sum of the individual criteria. In order to implement your own comparator, simply subclass PerformanceComparator. Please note that for true multi-objective optimization usually another selection scheme is used instead of simply replacing the performance comparator.

Author:
Ingo Mierswa

Field Summary
static java.lang.String PARAMETER_CLASS_WEIGHTS
          The parameter name for "The weights for all classes (first column: class name, second column: weight), empty: using 1 for all classes.
 
Fields inherited from class com.rapidminer.operator.performance.AbstractPerformanceEvaluator
PARAMETER_COMPARATOR_CLASS, PARAMETER_MAIN_CRITERION, PARAMETER_SKIP_UNDEFINED_LABELS
 
Constructor Summary
PolynominalClassificationPerformanceEvaluator(OperatorDescription description)
           
 
Method Summary
protected  void checkCompatibility(ExampleSet exampleSet)
          Performs a check if this operator can be used for this type of exampel set at all.
protected  double[] getClassWeights(Attribute label)
          Delivers class weights for performance criteria which implement the ClassWeightedPerformance interface.
 java.util.List<PerformanceCriterion> getCriteria()
          Delivers the list of criteria which is able for this operator.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
Methods inherited from class com.rapidminer.operator.performance.AbstractPerformanceEvaluator
apply, evaluate, evaluate, getInputClasses, getInputDescription, getOutputClasses, init, showComparatorParameter, showCriteriaParameter, showSkipNaNLabelsParameter
 
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, 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
 

Field Detail

PARAMETER_CLASS_WEIGHTS

public static final java.lang.String PARAMETER_CLASS_WEIGHTS
The parameter name for "The weights for all classes (first column: class name, second column: weight), empty: using 1 for all classes."

See Also:
Constant Field Values
Constructor Detail

PolynominalClassificationPerformanceEvaluator

public PolynominalClassificationPerformanceEvaluator(OperatorDescription description)
Method Detail

checkCompatibility

protected void checkCompatibility(ExampleSet exampleSet)
                           throws OperatorException
Description copied from class: AbstractPerformanceEvaluator
Performs a check if this operator can be used for this type of exampel set at all.

Specified by:
checkCompatibility in class AbstractPerformanceEvaluator
Throws:
OperatorException

getClassWeights

protected double[] getClassWeights(Attribute label)
                            throws UndefinedParameterError
Description copied from class: AbstractPerformanceEvaluator
Delivers class weights for performance criteria which implement the ClassWeightedPerformance interface. Might return null (for example for regression task performance evaluators).

Specified by:
getClassWeights in class AbstractPerformanceEvaluator
Throws:
UndefinedParameterError

getCriteria

public java.util.List<PerformanceCriterion> getCriteria()
Description copied from class: AbstractPerformanceEvaluator
Delivers the list of criteria which is able for this operator. Please note that all criteria in the list must be freshly instantiated since no copy is created in different runs of this operator. This is important in order to not mess up the results. This method must not return null but should return an empty list in this case.

Specified by:
getCriteria in class AbstractPerformanceEvaluator

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 AbstractPerformanceEvaluator


Copyright © 2001-2009 by Rapid-I