de.jstacs.classifiers.performanceMeasures
Class PositivePredictiveValueForFixedSensitivity

java.lang.Object
  extended by de.jstacs.parameters.ParameterSet
      extended by de.jstacs.classifiers.performanceMeasures.AbstractPerformanceMeasure
          extended by de.jstacs.classifiers.performanceMeasures.AbstractTwoClassPerformanceMeasure
              extended by de.jstacs.classifiers.performanceMeasures.AbstractNumericalTwoClassPerformanceMeasure
                  extended by de.jstacs.classifiers.performanceMeasures.PositivePredictiveValueForFixedSensitivity
All Implemented Interfaces:
NumericalPerformanceMeasure, PerformanceMeasure, GalaxyConvertible, Storable, Cloneable

public class PositivePredictiveValueForFixedSensitivity
extends AbstractNumericalTwoClassPerformanceMeasure

This class implements the positive predictive value for a fixed sensitivity. The positive predictive value is defined as $\frac{TP}{TP+FP}$ and the sensitivity is defined as $\frac{TP}{TP+FN}$. The classification threshold for computing the positive predictive value is chosen such that the classifier yields at least the specified sensitivity. This measure corresponds to a specific point on the PRCurve.

Author:
Jan Grau, Jens Keilwagen

Nested Class Summary
 
Nested classes/interfaces inherited from class de.jstacs.parameters.ParameterSet
ParameterSet.ParameterList
 
Field Summary
 
Fields inherited from class de.jstacs.parameters.ParameterSet
errorMessage, parameters, parent
 
Constructor Summary
PositivePredictiveValueForFixedSensitivity()
          Constructs a new instance of the performance measure PositivePredictiveValueForFixedSensitivity with empty parameter values.
PositivePredictiveValueForFixedSensitivity(double sensitivity)
          Constructs a new instance of the performance measure PositivePredictiveValueForFixedSensitivity with given sensitivity.
PositivePredictiveValueForFixedSensitivity(StringBuffer xml)
          The standard constructor for the interface Storable.
 
Method Summary
 NumericalResultSet compute(double[] sortedScoresClass0, double[] weightsClass0, double[] sortedScoresClass1, double[] weightsClass1)
          This method allows to compute the performance measure of given sorted score ratios.
 String getName()
          The method returns the name of the performance measure.
 
Methods inherited from class de.jstacs.classifiers.performanceMeasures.AbstractNumericalTwoClassPerformanceMeasure
compute, compute, compute
 
Methods inherited from class de.jstacs.classifiers.performanceMeasures.AbstractTwoClassPerformanceMeasure
getAllowedNumberOfClasses
 
Methods inherited from class de.jstacs.classifiers.performanceMeasures.AbstractPerformanceMeasure
findSplitIndex, findThreshold, getCollectionOfAllMeasures, getWeight, simpleWeights
 
Methods inherited from class de.jstacs.parameters.ParameterSet
clone, fromGalaxy, fromXML, getAllParameterNames, getComment, getComment, getErrorMessage, getIndex, getName, getName, getNumberOfParameters, getParameterAt, getParameterForName, getParent, hasDefaultOrIsSet, initParameterList, initParameterList, isAtomic, isComparable, parametersLoaded, reset, setParent, toGalaxy, toXML
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.jstacs.classifiers.performanceMeasures.PerformanceMeasure
getAllowedNumberOfClasses
 

Constructor Detail

PositivePredictiveValueForFixedSensitivity

public PositivePredictiveValueForFixedSensitivity()
Constructs a new instance of the performance measure PositivePredictiveValueForFixedSensitivity with empty parameter values.


PositivePredictiveValueForFixedSensitivity

public PositivePredictiveValueForFixedSensitivity(double sensitivity)
                                           throws Exception
Constructs a new instance of the performance measure PositivePredictiveValueForFixedSensitivity with given sensitivity.

Parameters:
sensitivity - the sensitivity for which the positive predictive value should be computed
Throws:
Exception - if the internal parameters can not be created or the value can not be set

PositivePredictiveValueForFixedSensitivity

public PositivePredictiveValueForFixedSensitivity(StringBuffer xml)
                                           throws NonParsableException
The standard constructor for the interface Storable. Constructs a PositivePredictiveValueForFixedSensitivity out of an XML representation.

Parameters:
xml - the XML representation as StringBuffer
Throws:
NonParsableException - if the PositivePredictiveValueForFixedSensitivity could not be reconstructed out of the StringBuffer xml
Method Detail

getName

public String getName()
Description copied from interface: PerformanceMeasure
The method returns the name of the performance measure.

Specified by:
getName in interface PerformanceMeasure
Specified by:
getName in class AbstractPerformanceMeasure
Returns:
the name of the performance measure

compute

public NumericalResultSet compute(double[] sortedScoresClass0,
                                  double[] weightsClass0,
                                  double[] sortedScoresClass1,
                                  double[] weightsClass1)
Description copied from interface: NumericalPerformanceMeasure
This method allows to compute the performance measure of given sorted score ratios. This method can only be used for binary classifiers.

Specified by:
compute in interface NumericalPerformanceMeasure
Specified by:
compute in interface PerformanceMeasure
Specified by:
compute in class AbstractNumericalTwoClassPerformanceMeasure
Parameters:
sortedScoresClass0 - the sorted score ratios of class 0
weightsClass0 - the weights of the sequences of class 0 sorted along with the scores sortedScoresClass0
sortedScoresClass1 - the sorted score ratios of class 1
weightsClass1 - the weights of the sequences of class 1 sorted along with the scores sortedScoresClass1
Returns:
a result set containing the results of the performance measure
See Also:
de.jstacs.utils.ToolBox#sortAlongWith(double[], double[]...)