mulan.evaluation.measure
Class GeometricMeanAveragePrecision

java.lang.Object
  extended by mulan.evaluation.measure.MeasureBase
      extended by mulan.evaluation.measure.ConfidenceMeasureBase
          extended by mulan.evaluation.measure.LabelBasedAveragePrecision
              extended by mulan.evaluation.measure.MeanAveragePrecision
                  extended by mulan.evaluation.measure.GeometricMeanAveragePrecision
All Implemented Interfaces:
Serializable, MacroAverageMeasure, Measure

public class GeometricMeanAveragePrecision
extends MeanAveragePrecision

Implementation of GMAP (Geometric Mean Average Precision)

Version:
2010.12.10
Author:
Eleftherios Spyromitros-Xioufis
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class mulan.evaluation.measure.LabelBasedAveragePrecision
LabelBasedAveragePrecision.ConfidenceActual
 
Field Summary
 
Fields inherited from class mulan.evaluation.measure.LabelBasedAveragePrecision
confact, numOfLabels
 
Constructor Summary
GeometricMeanAveragePrecision(int numOfLabels)
          Creates a new instance of this class
 
Method Summary
 double getIdealValue()
          Gets an 'ideal' value of a measure.
 String getName()
          Gets the name of a measure.
 double getValue()
          Calculates map using multiple calls to MeanAveragePrecision.getValue(int).
 
Methods inherited from class mulan.evaluation.measure.MeanAveragePrecision
getValue
 
Methods inherited from class mulan.evaluation.measure.LabelBasedAveragePrecision
reset, updateConfidence
 
Methods inherited from class mulan.evaluation.measure.ConfidenceMeasureBase
updateInternal
 
Methods inherited from class mulan.evaluation.measure.MeasureBase
makeCopy, toString, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GeometricMeanAveragePrecision

public GeometricMeanAveragePrecision(int numOfLabels)
Creates a new instance of this class

Parameters:
numOfLabels - the number of labels
Method Detail

getName

public String getName()
Description copied from interface: Measure
Gets the name of a measure.

Specified by:
getName in interface Measure
Overrides:
getName in class MeanAveragePrecision
Returns:
the name of a measure.

getValue

public double getValue()
Description copied from class: MeanAveragePrecision
Calculates map using multiple calls to MeanAveragePrecision.getValue(int). If a label has 0 relevant examples, then it is omitted from the average.

Specified by:
getValue in interface Measure
Overrides:
getValue in class MeanAveragePrecision
Returns:
the average measure value computed so far

getIdealValue

public double getIdealValue()
Description copied from interface: Measure
Gets an 'ideal' value of a measure. The 'ideal' means, that the value represents the best achievable performance of a learner for an prediction of a multi-label task and associated true labels.

Specified by:
getIdealValue in interface Measure
Overrides:
getIdealValue in class MeanAveragePrecision
Returns:
the ideal value