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 class
RABIDEstimator.Par
Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description static RABIDEstimator
STATIC
Static instance.
-
Constructor Summary
Constructors Constructor Description RABIDEstimator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
computeABID(DistanceQuery<?> distq, KNNList knn, boolean bias)
Estimate intrinsic dimensionality (both variants).private double
cos2(double sideA2, double sideB2, double oppositeSide2)
Squared cosine from squared triangle side lengths<A> double
estimate(A data, NumberArrayAdapter<?,? super A> adapter, int size)
Estimate from a distance list.double
estimate(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:DistanceBasedIntrinsicDimensionalityEstimator
Estimate from a distance list.- Specified by:
estimate
in 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:IntrinsicDimensionalityEstimator
Estimate from a Reference Point, a KNNSearcher and the neighborhood size k.- Specified by:
estimate
in interfaceDistanceBasedIntrinsicDimensionalityEstimator
- Specified by:
estimate
in 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
-
-