ROCCurveEvaluator (Alignment API and Server)
Date: 2010-03-31

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Alignment API and Server 4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## fr.inrialpes.exmo.align.impl.eval
Class ROCCurveEvaluator

    java.lang.Object
      fr.inrialpes.exmo.align.impl.eval.GraphEvaluator
          fr.inrialpes.exmo.align.impl.eval.ROCCurveEvaluator

    public class ROCCurveEvaluator

extends GraphEvaluator

Compute ROCCurves

Version:
  $Id: ROCCurveEvaluator.java 1368 2010-03-26 22:14:04Z euzenat $ ROCCurves traverse the ranked list of correspondences Hence, like PRGraphs, it is only relevant to this case. X-axis is the number of incorrect correspondences Y-axis is the number of correct correspondences It is expected that the curve grows fast first and then much slower This indicates the accuracy of the matcher. The "Surface Under Curve" (AUC) is returned as a result. AUC is in fact the percentage of surface under the curve (given by N the size of the reference alignment and P the size of all pairs of ontologies, N*P is the full size), Area/N*P. It is ususally interpreted as: 0.9 - 1.0 excellent 0.8 - 0.9 good 0.7 - 0.8 fair 0.6 - 0.7 poor 0.0 - 0.6 bad The problem with these measures is that they assume that the provided alignment is a complete alignment: it contains all pairs of entities hence auc are comparable because they depend on the same sizes... This is not the case when alignment are incomplete. Hence, this should be normalised. There are two ways of doing this: - simply Area/N*P, but this would advantage - considering the current subpart Area/N*| => both would advantage matchers with high precision penalising them Area/N*P - interpolating the curve: NOT EASY, TO BE IMPLEMENTED
Author:
  Jerome Euzenat

Field Summary
`private double` | `auc`

Fields inherited from class fr.inrialpes.exmo.align.impl.eval.GraphEvaluator
`cellSet, nbexpected, points, STEP`

Constructor Summary
`ROCCurveEvaluator()`

Method Summary
`Vector<Pair>` | `eval()` For the moment
`Vector<Pair>` | `eval(Properties param)` Compute ROCCurve points From an ordered vector of cells with their correctness status
`double` | `getAUC()`
`double` | `getGlobalResult()` Retuns a simple global evaluation measure if any
`double` | `getPlotResult(int i)`
`void` | `write(PrintWriter writer)` This output the result
`void` | `writePlot(PrintWriter writer)`

Methods inherited from class fr.inrialpes.exmo.align.impl.eval.GraphEvaluator
`getStep, ingest, initCellSet, isCorrect, nbCells, setStep, writeXMLMap`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### auc

    private double auc

Constructor Detail

### ROCCurveEvaluator

    public ROCCurveEvaluator()

Method Detail

### eval

    public Vector<Pair> eval(Properties param)

  Compute ROCCurve points From an ordered vector of cells with their correctness status

  Specified by:
    `eval` in class `GraphEvaluator`

### eval

    public Vector<Pair> eval()

  For the moment

  Specified by:
    `eval` in class `GraphEvaluator`

### write

    public void write(PrintWriter writer)
               throws IOException

  This output the result

  Throws:
    `IOException`

### writePlot

    public void writePlot(PrintWriter writer)

  Overrides:
    `writePlot` in class `GraphEvaluator`

### getPlotResult

    public double getPlotResult(int i)

### getGlobalResult

    public double getGlobalResult()

  Description copied from class: `GraphEvaluator`
  Retuns a simple global evaluation measure if any

  Specified by:
    `getGlobalResult` in class `GraphEvaluator`

### getAUC

    public double getAUC()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Alignment API and Server 4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

(C) INRIA & friends, 2003-2010