Class RABIDEstimator
- java.lang.Object
-
- elki.math.statistics.intrinsicdimensionality.RABIDEstimator
-
- All Implemented Interfaces:
DistanceBasedIntrinsicDimensionalityEstimator,IntrinsicDimensionalityEstimator<java.lang.Object>
- Direct Known Subclasses:
ABIDEstimator
@Reference(authors="Erik Thordsen and Erich Schubert", title="ABID: Angle Based Intrinsic Dimensionality", booktitle="Proc. 13th Int. Conf. Similarity Search and Applications (SISAP\'2020)", url="https://doi.org/10.1007/978-3-030-60936-8_17", bibkey="DBLP:conf/sisap/ThordsenS20") public class RABIDEstimator extends java.lang.Object implements DistanceBasedIntrinsicDimensionalityEstimator
Raw angle based intrinsic dimensionality (RABID) estimator.Reference:
Erik Thordsen and Erich Schubert
ABID: Angle Based Intrinsic Dimensionality
Proc. 13th Int. Conf. Similarity Search and Applications (SISAP'2020)- Since:
- 0.8.0
- Author:
- Erik Thordsen
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRABIDEstimator.ParParameterization class.
-
Field Summary
Fields Modifier and Type Field Description static RABIDEstimatorSTATICStatic instance.
-
Constructor Summary
Constructors Constructor Description RABIDEstimator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected doublecomputeABID(DistanceQuery<?> distq, KNNList knn, boolean bias)Estimate intrinsic dimensionality (both variants).private doublecos2(double sideA2, double sideB2, double oppositeSide2)Squared cosine from squared triangle side lengths<A> doubleestimate(A data, NumberArrayAdapter<?,? super A> adapter, int size)Estimate from a distance list.doubleestimate(KNNSearcher<DBIDRef> knnq, DistanceQuery<?> distq, DBIDRef cur, int k)Estimate from a Reference Point, a KNNSearcher and the neighborhood size k.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.math.statistics.intrinsicdimensionality.DistanceBasedIntrinsicDimensionalityEstimator
estimate, estimate, estimate, estimate
-
-
-
-
Field Detail
-
STATIC
public static final RABIDEstimator STATIC
Static instance.
-
-
Method Detail
-
estimate
public <A> double estimate(A data, NumberArrayAdapter<?,? super A> adapter, int size)Description copied from interface:DistanceBasedIntrinsicDimensionalityEstimatorEstimate from a distance list.- Specified by:
estimatein interfaceDistanceBasedIntrinsicDimensionalityEstimator- Type Parameters:
A- array type- Parameters:
data- Dataadapter- Array adaptersize- Length- Returns:
- Estimated intrinsic dimensionality
-
cos2
private final double cos2(double sideA2, double sideB2, double oppositeSide2)Squared cosine from squared triangle side lengths- Parameters:
sideA2- squared first sidesideB2- squared second sideoppositeSide2- squared opposite side- Returns:
- Squared cosine
-
estimate
public double estimate(KNNSearcher<DBIDRef> knnq, DistanceQuery<?> distq, DBIDRef cur, int k)
Description copied from interface:IntrinsicDimensionalityEstimatorEstimate from a Reference Point, a KNNSearcher and the neighborhood size k.- Specified by:
estimatein interfaceDistanceBasedIntrinsicDimensionalityEstimator- Specified by:
estimatein interfaceIntrinsicDimensionalityEstimator<java.lang.Object>- Parameters:
knnq- KNNSearcherdistq- Distance query for additional distancescur- reference pointk- neighborhood size- Returns:
- Estimated intrinsic dimensionality
-
computeABID
protected double computeABID(DistanceQuery<?> distq, KNNList knn, boolean bias)
Estimate intrinsic dimensionality (both variants).- Parameters:
distq- Distance queryknn- k nearest neighbors (usually +1, as the query point is included)bias- true to use ABID, false for RABID- Returns:
- intrinsic dimensionality
-
-