de.lmu.ifi.dbs.elki.algorithm.statistics
Class RankingQualityHistogram<V extends DatabaseObject,D extends NumberDistance<D,?>>
java.lang.Object
de.lmu.ifi.dbs.elki.logging.AbstractLoggable
de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<O,R>
de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm<V,D,CollectionResult<DoubleVector>>
de.lmu.ifi.dbs.elki.algorithm.statistics.RankingQualityHistogram<V,D>
- Type Parameters:
V
- Vector typeD
- Distance type
- All Implemented Interfaces:
- Algorithm<V,CollectionResult<DoubleVector>>, Parameterizable
@Title(value="Ranking Quality Histogram")
@Description(value="Evaluates the effectiveness of a distance function via the obtained rankings.")
public class RankingQualityHistogram<V extends DatabaseObject,D extends NumberDistance<D,?>>
- extends DistanceBasedAlgorithm<V,D,CollectionResult<DoubleVector>>
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.
TODO: Make number of bins configurable
TODO: Add sampling
- Author:
- Erich Schubert
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RankingQualityHistogram
public RankingQualityHistogram(Parameterization config)
- Constructor, adhering to
Parameterizable
- Parameters:
config
- Parameterization
runInTime
protected CollectionResult<DoubleVector> runInTime(Database<V> database)
throws IllegalStateException
- Run the algorithm.
- Specified by:
runInTime
in class AbstractAlgorithm<V extends DatabaseObject,CollectionResult<DoubleVector>>
- Parameters:
database
- the database to run the algorithm on
- Returns:
- the Result computed by this algorithm
- Throws:
IllegalStateException
- if the algorithm has not been initialized
properly (e.g. the setParameters(String[]) method has been failed
to be called).