de.jstacs.classifiers.performanceMeasures
Class MaximumNumericalTwoClassMeasure

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.MaximumNumericalTwoClassMeasure
All Implemented Interfaces:
NumericalPerformanceMeasure, PerformanceMeasure, GalaxyConvertible, Storable, Cloneable
Direct Known Subclasses:
MaximumCorrelationCoefficient, MaximumFMeasure

public abstract class MaximumNumericalTwoClassMeasure
extends AbstractNumericalTwoClassPerformanceMeasure

This class prepares everything for an easy implementation of a maximum of any numerical performance measure.

Author:
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
protected MaximumNumericalTwoClassMeasure()
          Constructs a new instance of the performance measure MaximumNumericalTwoClassMeasure.
protected MaximumNumericalTwoClassMeasure(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.
protected abstract  double getMeasure(double tp, double fp, double fn, double tn)
          This measure compute the measure for a given confusion matrix
protected abstract  String getMeasureName()
          This method returns a short name of the measure without any parameters.
 String getName()
          The method returns the name of the performance measure.
protected abstract  String getSpecificName()
          This method returns a specific name of the measure including any parameters.
 
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

MaximumNumericalTwoClassMeasure

protected MaximumNumericalTwoClassMeasure()
Constructs a new instance of the performance measure MaximumNumericalTwoClassMeasure.


MaximumNumericalTwoClassMeasure

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

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

getName

public final 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

getMeasureName

protected abstract String getMeasureName()
This method returns a short name of the measure without any parameters.

Returns:
a short name of the measure without any parameters

getSpecificName

protected abstract String getSpecificName()
This method returns a specific name of the measure including any parameters.

Returns:
a specific name of the measure including any parameters

getMeasure

protected abstract double getMeasure(double tp,
                                     double fp,
                                     double fn,
                                     double tn)
This measure compute the measure for a given confusion matrix

Parameters:
tp - true positives
fp - false positives
fn - false negatives
tn - true negative
Returns:
the value of the 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[]...)