|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.evaluation.roc.ROC
public class ROC
Compute ROC (Receiver Operating Characteristics) curves. A ROC curve compares the true positive rate (y-axis) and false positive rate (x-axis). It was first used in radio signal detection, but has since found widespread use in information retrieval, in particular for evaluating binary classification problems. ROC curves are particularly useful to evaluate a ranking of objects with respect to a binary classification problem: a random sampling will approximately achieve a ROC value of 0.5, while a perfect separation will achieve 1.0 (all positives first) or 0.0 (all negatives first). In most use cases, a score significantly below 0.5 indicates that the algorithm result has been used the wrong way, and should be used backwards.
Nested Class Summary | |
---|---|
static class |
ROC.DistanceResultAdapter<D extends Distance<D>>
This adapter can be used for an arbitrary collection of Integers, and uses that id1.compareTo(id2) ! |
static class |
ROC.OutlierScoreAdapter
This adapter can be used for an arbitrary collection of Integers, and uses that id1.compareTo(id2) ! |
static class |
ROC.SimpleAdapter
This adapter can be used for an arbitrary collection of Integers, and uses that id1.compareTo(id2) ! |
Constructor Summary | |
---|---|
ROC()
|
Method Summary | ||
---|---|---|
static double |
computeAUC(Iterable<DoubleDoublePair> curve)
compute the Area Under Curve (difference to y axis) for an arbitrary polygon |
|
static
|
computeROCAUCDistanceResult(int size,
Cluster<?> clus,
List<DistanceResultPair<D>> nei)
Compute a ROC curves Area-under-curve for a QueryResult and a Cluster. |
|
static
|
computeROCAUCDistanceResult(int size,
DBIDs ids,
List<DistanceResultPair<D>> nei)
Compute a ROC curves Area-under-curve for a QueryResult and a Cluster. |
|
static double |
computeROCAUCSimple(int size,
DBIDs ids,
DBIDs nei)
Compute a ROC curves Area-under-curve for a QueryResult and a Cluster. |
|
static
|
materializeROC(int size,
Set<? super T> ids,
Iterator<? extends PairInterface<C,T>> nei)
Compute a ROC curve given a set of positive IDs and a sorted list of (comparable, ID)s, where the comparable object is used to decided when two objects are interchangeable. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ROC()
Method Detail |
---|
public static <C extends Comparable<? super C>,T> List<DoubleDoublePair> materializeROC(int size, Set<? super T> ids, Iterator<? extends PairInterface<C,T>> nei)
C
- Reference typesize
- Database sizeids
- Collection of positive IDs, should support efficient contains()nei
- List of neighbors along with some comparable object to detect
'same positions'.
public static double computeAUC(Iterable<DoubleDoublePair> curve)
curve
- Iterable list of points (x,y)
public static <D extends Distance<D>> double computeROCAUCDistanceResult(int size, Cluster<?> clus, List<DistanceResultPair<D>> nei)
D
- Distance typesize
- Database sizeclus
- Cluster objectnei
- Query result
public static <D extends Distance<D>> double computeROCAUCDistanceResult(int size, DBIDs ids, List<DistanceResultPair<D>> nei)
D
- Distance typesize
- Database sizeids
- Collection of positive IDs, should support efficient contains()nei
- Query Result
public static double computeROCAUCSimple(int size, DBIDs ids, DBIDs nei)
size
- Database sizeids
- Collection of positive IDs, should support efficient contains()nei
- Query Result
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |