|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.rapidminer.operator.AbstractIOObject
com.rapidminer.operator.ResultObjectAdapter
com.rapidminer.tools.math.Averagable
com.rapidminer.operator.performance.PerformanceCriterion
com.rapidminer.operator.performance.MeasuredPerformance
com.rapidminer.operator.performance.CorrelationCriterion
public class CorrelationCriterion
Computes the empirical corelation coefficient 'r' between label and
prediction. For
P=prediction, L=label, V=Variance, Cov=Covariance
we calculate
r by:
Cov(L,P) / sqrt(V(L)*V(P))
.
Implementation hint: this implementation intensionally recomputes the mean
and variance of prediction and label despite the fact that they are available
by the Attribute objects. The reason: it can happen, that there are some
examples which have a NaN as prediction or label, but not both. In this case,
mean and variance stored in tie Attributes and computed here can differ.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.rapidminer.operator.AbstractIOObject |
---|
AbstractIOObject.InputStreamProvider |
Constructor Summary | |
---|---|
CorrelationCriterion()
|
|
CorrelationCriterion(CorrelationCriterion sc)
|
Method Summary | |
---|---|
void |
buildSingleAverage(Averagable performance)
This method should build the average of this and another averagable of the same type. |
void |
countExample(Example example)
Updates all sums needed to compute the correlation coefficient. |
java.lang.String |
getDescription()
Returns a description of the performance criterion. |
double |
getExampleCount()
Returns the number of data points which was used to determine the criterion value. |
double |
getFitness()
Returns the fitness depending on the value. |
double |
getMaxFitness()
Returns the maximum fitness of 1.0. |
double |
getMikroAverage()
Returns the (current) value of the averagable (the average itself). |
double |
getMikroVariance()
Returns the variance of the averagable. |
java.lang.String |
getName()
Returns the name of this averagable. |
void |
startCounting(ExampleSet eset,
boolean useExampleWeights)
Initializes the criterion. |
Methods inherited from class com.rapidminer.operator.performance.MeasuredPerformance |
---|
startCounting |
Methods inherited from class com.rapidminer.operator.performance.PerformanceCriterion |
---|
compareTo |
Methods inherited from class com.rapidminer.tools.math.Averagable |
---|
buildAverage, clone, cloneAveragable, formatPercent, getAverage, getAverageCount, getExtension, getFileDescription, getMakroAverage, getMakroStandardDeviation, getMakroVariance, getMikroStandardDeviation, getStandardDeviation, getVariance, isInTargetEncoding, setAverageCount, toString |
Methods inherited from class com.rapidminer.operator.ResultObjectAdapter |
---|
addAction, getActions, getAnnotations, getResultIcon, log, log, logError, logNote, logWarning, toHTML, toResultString |
Methods inherited from class com.rapidminer.operator.AbstractIOObject |
---|
appendOperatorToHistory, copy, getLog, getProcessingHistory, getSource, initWriting, read, read, read, read, setLoggingHandler, setSource, write |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.rapidminer.operator.IOObject |
---|
appendOperatorToHistory, copy, getLog, getProcessingHistory, getSource, setLoggingHandler, setSource, write |
Constructor Detail |
---|
public CorrelationCriterion()
public CorrelationCriterion(CorrelationCriterion sc)
Method Detail |
---|
public double getExampleCount()
PerformanceCriterion
getExampleCount
in class PerformanceCriterion
public double getMaxFitness()
getMaxFitness
in class PerformanceCriterion
public void countExample(Example example)
countExample
in class MeasuredPerformance
public java.lang.String getDescription()
PerformanceCriterion
PerformanceEvaluator
operator.
getDescription
in class PerformanceCriterion
public double getMikroAverage()
Averagable
Averagable.buildSingleAverage(Averagable)
was used, this method must return the
micro average from both (or more) criteria. This is usually achieved by
correctly implementing Averagable.buildSingleAverage(Averagable)
.
getMikroAverage
in class Averagable
public double getMikroVariance()
Averagable
getMikroVariance
in class Averagable
public void startCounting(ExampleSet eset, boolean useExampleWeights) throws OperatorException
MeasuredPerformance
startCounting
in class MeasuredPerformance
OperatorException
public void buildSingleAverage(Averagable performance)
Averagable
Averagable.getMikroAverage()
should return the
average of this and the given averagable. Hence, this method is used to build
the actual micro average value of two criteria. Please refer to
SimpleCriterion
for a simple
implementation example.
buildSingleAverage
in class Averagable
public double getFitness()
PerformanceCriterion
Returns the fitness depending on the value. The fitness values will be used for all optimization purposes (feature space transformations, parameter optimizations...) and must always be maximized. Hence, if your criterion is better the smaller the value is you should return something like (-1 * value) or (1 / value).
Subclasses should use
Averagable.getAverage()
instead of Averagable.getMikroAverage()
in this method
since usually the makro average (if available) should be optmized instead
of the mikro average. The mikro average should only be used in the (rare)
cases where no makro average is available but this is automatically done
returned by Averagable.getAverage()
in these cases.
getFitness
in class PerformanceCriterion
public java.lang.String getName()
Averagable
getName
in interface ResultObject
getName
in class Averagable
|
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |