|
|
|||||||||||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.logging.AbstractLoggable de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction<O,D> de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractDistanceFunction<O,D> de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractPreprocessorBasedDistanceFunction<V,P,BitDistance> de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.ERiCDistanceFunction<V,P>
V
- the type of NumberVector to compute the distances in betweenP
- the type of Preprocessor usedpublic class ERiCDistanceFunction<V extends NumberVector<V,?>,P extends LocalPCAPreprocessor<V>>
Provides a distance function for building the hierarchy in the ERiC algorithm.
Field Summary | |
---|---|
private double |
delta
Holds the value of DELTA_PARAM . |
static OptionID |
DELTA_ID
OptionID for DELTA_PARAM |
private DoubleParameter |
DELTA_PARAM
Parameter to specify the threshold for approximate linear dependency: the strong eigenvectors of q are approximately linear dependent from the strong eigenvectors p if the following condition holds for all stroneg eigenvectors q_i of q (lambda_q < lambda_p): q_i' * M^check_p * q_i <= delta^2, must be a double equal to or greater than 0. |
private double |
tau
Holds the value of TAU_PARAM . |
static OptionID |
TAU_ID
OptionID for TAU_PARAM |
private DoubleParameter |
TAU_PARAM
Parameter to specify the threshold for the maximum distance between two approximately linear dependent subspaces of two objects p and q (lambda_q < lambda_p) before considering them as parallel, must be a double equal to or greater than 0. |
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 | |
---|---|
ERiCDistanceFunction(Parameterization config)
Constructor, adhering to Parameterizable |
Method Summary | |
---|---|
private boolean |
approximatelyLinearDependent(PCAFilteredResult pca1,
PCAFilteredResult pca2)
Returns true, if the strong eigenvectors of the two specified pcas span up the same space. |
BitDistance |
distance(V v1,
V v2)
Note, that the pca of o1 must have equal ore more strong eigenvectors than the pca of o2. |
BitDistance |
distance(V v1,
V v2,
PCAFilteredResult pca1,
PCAFilteredResult pca2)
Computes the distance between two given DatabaseObjects according to this distance function. |
AssociationID<?> |
getAssociationID()
Returns the association ID for the association to be set by the preprocessor. |
Class<?> |
getDefaultPreprocessorClass()
Returns the name of the default preprocessor. |
String |
getPreprocessorDescription()
Returns the description for the preprocessor parameter. |
Class<P> |
getPreprocessorSuperClass()
Returns the super class for the preprocessor parameter. |
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractPreprocessorBasedDistanceFunction |
---|
getPreprocessor, setDatabase |
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.distancefunction.DistanceFunction |
---|
distance, distance |
Methods inherited from interface de.lmu.ifi.dbs.elki.distance.MeasurementFunction |
---|
getDistanceFactory, infiniteDistance, nullDistance, setDatabase, undefinedDistance, valueOf |
Field Detail |
---|
public static final OptionID DELTA_ID
DELTA_PARAM
private final DoubleParameter DELTA_PARAM
Default value: 0.1
Key: -ericdf.delta
public static final OptionID TAU_ID
TAU_PARAM
private final DoubleParameter TAU_PARAM
Default value: 0.1
Key: -ericdf.tau
private double delta
DELTA_PARAM
.
private double tau
TAU_PARAM
.
Constructor Detail |
---|
public ERiCDistanceFunction(Parameterization config)
Parameterizable
config
- ParameterizationMethod Detail |
---|
public Class<?> getDefaultPreprocessorClass()
getDefaultPreprocessorClass
in interface PreprocessorClient<P extends LocalPCAPreprocessor<V>,V extends NumberVector<V,?>>
KnnQueryBasedLocalPCAPreprocessor
public String getPreprocessorDescription()
PreprocessorClient
getPreprocessorDescription
in interface PreprocessorClient<P extends LocalPCAPreprocessor<V>,V extends NumberVector<V,?>>
public Class<P> getPreprocessorSuperClass()
PreprocessorClient
getPreprocessorSuperClass
in interface PreprocessorClient<P extends LocalPCAPreprocessor<V>,V extends NumberVector<V,?>>
Preprocessor
public AssociationID<?> getAssociationID()
PreprocessorClient
getAssociationID
in interface PreprocessorClient<P extends LocalPCAPreprocessor<V>,V extends NumberVector<V,?>>
AssociationID.LOCAL_PCA
public BitDistance distance(V v1, V v2)
distance
in interface DistanceFunction<V extends NumberVector<V,?>,BitDistance>
v1
- first DatabaseObjectv2
- second DatabaseObject
public BitDistance distance(V v1, V v2, PCAFilteredResult pca1, PCAFilteredResult pca2)
v1
- first DatabaseObjectv2
- second DatabaseObjectpca1
- first PCApca2
- second PCA
private boolean approximatelyLinearDependent(PCAFilteredResult pca1, PCAFilteredResult pca2)
pca1
- first PCApca2
- second PCA
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |