V
- the type of NumberVector to compute the distances in betweenpublic class LocallyWeightedDistanceFunction<V extends NumberVector<?,?>> extends AbstractIndexBasedDistanceFunction<V,FilteredLocalPCAIndex<V>,DoubleDistance> implements FilteredLocalPCABasedDistanceFunction<V,FilteredLocalPCAIndex<V>,DoubleDistance>
Modifier and Type | Class and Description |
---|---|
static class |
LocallyWeightedDistanceFunction.Instance<V extends NumberVector<?,?>>
Instance of this distance for a particular database.
|
static class |
LocallyWeightedDistanceFunction.Parameterizer<V extends NumberVector<?,?>>
Parameterization class.
|
indexFactory
INDEX_ID
Constructor and Description |
---|
LocallyWeightedDistanceFunction(LocalProjectionIndex.Factory<V,FilteredLocalPCAIndex<V>> indexFactory)
Constructor
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
DoubleDistance |
getDistanceFactory()
Method to get the distance functions factory.
|
<T extends V> |
instantiate(Relation<T> database)
Instantiate with a database to get the actual distance query.
|
boolean |
isMetric()
Is this distance function metric (in particular, does it satisfy the
triangle equation?)
|
boolean |
isSymmetric()
Is this function symmetric?
|
getInputTypeRestriction
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getInputTypeRestriction
public LocallyWeightedDistanceFunction(LocalProjectionIndex.Factory<V,FilteredLocalPCAIndex<V>> indexFactory)
indexFactory
- Index factorypublic DoubleDistance getDistanceFactory()
DistanceFunction
getDistanceFactory
in interface DistanceFunction<V extends NumberVector<?,?>,DoubleDistance>
getDistanceFactory
in class AbstractDatabaseDistanceFunction<V extends NumberVector<?,?>,DoubleDistance>
public boolean isMetric()
DistanceFunction
isMetric
in interface DistanceFunction<V extends NumberVector<?,?>,DoubleDistance>
isMetric
in class AbstractIndexBasedDistanceFunction<V extends NumberVector<?,?>,FilteredLocalPCAIndex<V extends NumberVector<?,?>>,DoubleDistance>
true
when metric.public boolean isSymmetric()
DistanceFunction
isSymmetric
in interface DistanceFunction<V extends NumberVector<?,?>,DoubleDistance>
isSymmetric
in class AbstractIndexBasedDistanceFunction<V extends NumberVector<?,?>,FilteredLocalPCAIndex<V extends NumberVector<?,?>>,DoubleDistance>
true
when symmetricpublic <T extends V> LocallyWeightedDistanceFunction.Instance<T> instantiate(Relation<T> database)
FilteredLocalPCABasedDistanceFunction
instantiate
in interface DistanceFunction<V extends NumberVector<?,?>,DoubleDistance>
instantiate
in interface FilteredLocalPCABasedDistanceFunction<V extends NumberVector<?,?>,FilteredLocalPCAIndex<V extends NumberVector<?,?>>,DoubleDistance>
database
- The representation to use