|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<R>
de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm<V,D,CollectionResult<DoubleVector>>
de.lmu.ifi.dbs.elki.algorithm.statistics.EvaluateRankingQuality<V,D>
V - Vector typeD - Distance type@Title(value="Evaluate Ranking Quality") @Description(value="Evaluates the effectiveness of a distance function via the obtained rankings.") public class EvaluateRankingQuality<V extends NumberVector<V,?>,D extends NumberDistance<D,?>>

Evaluate a distance function with respect to kNN queries. For each point, the
neighbors are sorted by distance, then the ROC AUC is computed. A score of 1
means that the distance function provides a perfect ordering of relevant
neighbors first, then irrelevant neighbors. A value of 0.5 can be obtained by
random sorting. A value of 0 means the distance function is inverted, i.e. a
similarity.
In contrast to RankingQualityHistogram, this method uses a binning
based on the centrality of objects. This allows analyzing whether or not a
particular distance degrades for the outer parts of a cluster.
TODO: Allow fixed binning range, configurable
TODO: Add sampling
| Nested Class Summary | |
|---|---|
static class |
EvaluateRankingQuality.Parameterizer<V extends NumberVector<V,?>,D extends NumberDistance<D,?>>
Parameterization class. |
| Field Summary | |
|---|---|
static OptionID |
HISTOGRAM_BINS_ID
Option to configure the number of bins to use. |
private static Logging |
logger
The logger for this class. |
(package private) int |
numbins
Number of bins to use. |
| Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm |
|---|
DISTANCE_FUNCTION_ID |
| Constructor Summary | |
|---|---|
EvaluateRankingQuality(DistanceFunction<? super V,D> distanceFunction,
int numbins)
Constructor. |
|
| Method Summary | |
|---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query. |
protected Logging |
getLogger()
Get the (STATIC) logger for this class. |
HistogramResult<DoubleVector> |
run(Database database)
Run the algorithm. |
| Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm |
|---|
getDistanceFunction |
| Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm |
|---|
makeParameterDistanceFunction |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final Logging logger
public static final OptionID HISTOGRAM_BINS_ID
int numbins
| Constructor Detail |
|---|
public EvaluateRankingQuality(DistanceFunction<? super V,D> distanceFunction,
int numbins)
distanceFunction - numbins - | Method Detail |
|---|
public HistogramResult<DoubleVector> run(Database database)
throws IllegalStateException
run in interface Algorithmrun in class AbstractAlgorithm<CollectionResult<DoubleVector>>database - the database to run the algorithm on
IllegalStateException - if the algorithm has not been initialized
properly (e.g. the setParameters(String[]) method has been failed
to be called).public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<CollectionResult<DoubleVector>>protected Logging getLogger()
AbstractAlgorithm
getLogger in class AbstractAlgorithm<CollectionResult<DoubleVector>>
|
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||