mulan.evaluation.measure
Class MeanAverageInterpolatedPrecision

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.MeanAverageInterpolatedPrecision
All Implemented Interfaces:
Serializable, MacroAverageMeasure, Measure
Direct Known Subclasses:
GeometricMeanAverageInterpolatedPrecision

public class MeanAverageInterpolatedPrecision
extends LabelBasedAveragePrecision
implements MacroAverageMeasure

Implementation of MAiP (Mean Average Interpolated Precision)

Version:
2012.07.28
Author:
Fragkiskos Chatziasimidis, John Panagos, 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
MeanAverageInterpolatedPrecision(int numOfLabels, int numRecallLevels)
          Constructor
 
Method Summary
 double getIdealValue()
          Gets an 'ideal' value of a measure.
 String getName()
          Gets the name of a measure.
 double getValue()
          Gets the value of a measure.
 double getValue(int labelIndex)
          Returns the average interpolated precision for a label
 
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

MeanAverageInterpolatedPrecision

public MeanAverageInterpolatedPrecision(int numOfLabels,
                                        int numRecallLevels)
Constructor

Parameters:
numOfLabels - the number of labels
numRecallLevels - the number of standard recall levels uniformly distributed in [0,1]
Method Detail

getName

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

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

getValue

public double getValue()
Description copied from interface: Measure
Gets the value of a measure. The measure is incrementally cumulated for learner's prediction by each Measure.update(MultiLabelOutput, boolean[]) call. The value returned by the method, returns sum of all update calls divided by the number of calls (average of all measures for all predictions).

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

getValue

public double getValue(int labelIndex)
Returns the average interpolated precision for a label

Specified by:
getValue in interface MacroAverageMeasure
Parameters:
labelIndex - the index of a label (starting from 0)
Returns:
the average interpolated precision for the given label

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
Returns:
the ideal value