Environment for
Supported by Index-Structures

Class RankingQualityHistogram<V extends DatabaseObject,D extends NumberDistance<D,?>>

  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<O,R>
          extended by de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm<V,D,CollectionResult<DoubleVector>>
              extended by de.lmu.ifi.dbs.elki.algorithm.statistics.RankingQualityHistogram<V,D>
Type Parameters:
V - Vector type
D - 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

Erich Schubert

Field Summary
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
Constructor Summary
RankingQualityHistogram(Parameterization config)
          Constructor, adhering to Parameterizable
Method Summary
protected  CollectionResult<DoubleVector> runInTime(Database<V> database)
          Run the algorithm.
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm
getDistanceFactory, getDistanceFunction
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
isTime, isVerbose, run, setTime, setVerbose
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public RankingQualityHistogram(Parameterization config)
Constructor, adhering to Parameterizable

config - Parameterization
Method Detail


protected CollectionResult<DoubleVector> runInTime(Database<V> database)
                                            throws IllegalStateException
Run the algorithm.

Specified by:
runInTime in class AbstractAlgorithm<V extends DatabaseObject,CollectionResult<DoubleVector>>
database - the database to run the algorithm on
the Result computed by this algorithm
IllegalStateException - if the algorithm has not been initialized properly (e.g. the setParameters(String[]) method has been failed to be called).

Release 0.3 (2010-03-31_1612)