Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.distance.distancefunction.adapter
Class SimilarityAdapterAbstract<V extends NumberVector<V,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction<O,D>
          extended by de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractDistanceFunction<V,DoubleDistance>
              extended by de.lmu.ifi.dbs.elki.distance.distancefunction.adapter.SimilarityAdapterAbstract<V>
Type Parameters:
V - the type of FeatureVector to compute the distances of
All Implemented Interfaces:
DistanceFunction<V,DoubleDistance>, MeasurementFunction<V,DoubleDistance>, Parameterizable
Direct Known Subclasses:
SimilarityAdapterArccos, SimilarityAdapterLinear, SimilarityAdapterLn

public abstract class SimilarityAdapterAbstract<V extends NumberVector<V,?>>
extends AbstractDistanceFunction<V,DoubleDistance>

Adapter from a normalized similarity function to a distance function. Note: The derived distance function will usually not satisfy the triangle equations.

Author:
Erich Schubert

Field Summary
static OptionID SIMILARITY_FUNCTION_ID
          OptionID for SIMILARITY_FUNCTION_PARAM
protected  ObjectParameter<NormalizedSimilarityFunction<V,DoubleDistance>> SIMILARITY_FUNCTION_PARAM
          Parameter to specify the similarity function to derive the distance between database objects from.
protected  NormalizedSimilarityFunction<V,DoubleDistance> similarityFunction
          Holds the similarity function.
 
Fields inherited from class de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction
distanceFactory
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
SimilarityAdapterAbstract(Parameterization config)
          Constructor, adhering to Parameterizable
 
Method Summary
abstract  DoubleDistance distance(V v1, V v2)
          Distance implementation
 void setDatabase(Database<V> database)
          Set the database that holds the associations for the DatabaseObject for which the measurements should be computed.
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractDistanceFunction
distance, distance
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction
getDatabase, getDistanceFactory, infiniteDistance, nullDistance, undefinedDistance, valueOf
 
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.distance.MeasurementFunction
getDistanceFactory, infiniteDistance, nullDistance, undefinedDistance, valueOf
 

Field Detail

SIMILARITY_FUNCTION_ID

public static final OptionID SIMILARITY_FUNCTION_ID
OptionID for SIMILARITY_FUNCTION_PARAM


SIMILARITY_FUNCTION_PARAM

protected final ObjectParameter<NormalizedSimilarityFunction<V extends NumberVector<V,?>,DoubleDistance>> SIMILARITY_FUNCTION_PARAM
Parameter to specify the similarity function to derive the distance between database objects from. Must extend NormalizedSimilarityFunction .

Key: -adapter.similarityfunction

Default value: FractionalSharedNearestNeighborSimilarityFunction


similarityFunction

protected NormalizedSimilarityFunction<V extends NumberVector<V,?>,DoubleDistance> similarityFunction
Holds the similarity function.

Constructor Detail

SimilarityAdapterAbstract

public SimilarityAdapterAbstract(Parameterization config)
Constructor, adhering to Parameterizable

Parameters:
config - Parameterization
Method Detail

distance

public abstract DoubleDistance distance(V v1,
                                        V v2)
Distance implementation

Parameters:
v1 - first DatabaseObject
v2 - second DatabaseObject
Returns:
the distance between two given DatabaseObjects according to this distance function

setDatabase

public void setDatabase(Database<V> database)
Description copied from interface: MeasurementFunction
Set the database that holds the associations for the DatabaseObject for which the measurements should be computed.

Specified by:
setDatabase in interface MeasurementFunction<V extends NumberVector<V,?>,DoubleDistance>
Overrides:
setDatabase in class AbstractMeasurementFunction<V extends NumberVector<V,?>,DoubleDistance>
Parameters:
database - Database

Release 0.3 (2010-03-31_1612)