Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.algorithm.statistics
Class RankingQualityHistogram<V extends RealVector<V,?>,D extends NumberDistance<D,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
          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
All Implemented Interfaces:
Algorithm<V,CollectionResult<DoubleVector>>, Parameterizable

public class RankingQualityHistogram<V extends RealVector<V,?>,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

Field Summary
private  CollectionResult<DoubleVector> result
           
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm
DISTANCE_FUNCTION_ID, DISTANCE_FUNCTION_PARAM
 
Fields inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
optionHandler
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
RankingQualityHistogram()
          Empty constructor.
 
Method Summary
 Description getDescription()
          Describe the algorithm and it's use.
 CollectionResult<DoubleVector> getResult()
          Return a result object
protected  CollectionResult<DoubleVector> runInTime(Database<V> database)
          Run the algorithm.
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm
getDistanceFunction, setParameters
 
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.utilities.optionhandling.AbstractParameterizable
addOption, addParameterizable, addParameterizable, checkGlobalParameterConstraints, collectOptions, getAttributeSettings, getParameters, rememberParametersExcept, removeOption, removeParameterizable, shortDescription
 
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
 
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable
checkGlobalParameterConstraints, collectOptions, getParameters, shortDescription
 

Field Detail

result

private CollectionResult<DoubleVector> result
Constructor Detail

RankingQualityHistogram

public RankingQualityHistogram()
Empty constructor. Nothing to do.

Method Detail

runInTime

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

Specified by:
runInTime in class AbstractAlgorithm<V extends RealVector<V,?>,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).

getDescription

public Description getDescription()
Describe the algorithm and it's use.

Returns:
a description of the algorithm

getResult

public CollectionResult<DoubleVector> getResult()
Return a result object

Returns:
the result of the algorithm

Release 0.2 (2009-07-06_1820)