Package elki.clustering.optics
Class FastOPTICS<V extends NumberVector>
- java.lang.Object
-
- elki.clustering.optics.FastOPTICS<V>
-
- Type Parameters:
V- Input vector type
- All Implemented Interfaces:
Algorithm,OPTICSTypeAlgorithm
@Reference(authors="J. Schneider, M. Vlachos", title="Fast parameterless density-based clustering via random projections", booktitle="Proc. 22nd ACM Int. Conf. on Information & Knowledge Management (CIKM 2013)", url="https://doi.org/10.1145/2505515.2505590", bibkey="DBLP:conf/cikm/SchneiderV13") public class FastOPTICS<V extends NumberVector> extends java.lang.Object implements OPTICSTypeAlgorithm
FastOPTICS algorithm (Fast approximation of OPTICS)Note that this is not FOPTICS as in "Fuzzy OPTICS"!
Reference:
J. Schneider, M. Vlachos
Fast parameterless density-based clustering via random projections
Proc. 22nd ACM Int. Conf. on Information and Knowledge Management (CIKM 2013)This is based on the original code provided by Johannes Schneider, with ELKIfications and optimizations by Erich Schubert.
- Since:
- 0.7.0
- Author:
- Johannes Schneider, Erich Schubert
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Field Summary
Fields Modifier and Type Field Description (package private) RandomProjectedNeighborsAndDensitiesindexIndex.(package private) DoubleDataStoreinverseDensitiesInverse Densities correspond to average distances in point set of projectionsprivate static LoggingLOGClass logger.(package private) intminPtsMinPts parameter.(package private) DataStore<? extends DBIDs>neighsneighbors of a point(package private) ClusterOrderorderResult: output order of points(package private) ModifiableDBIDsprocessedprocessed points(package private) WritableDoubleDataStorereachDistResult: reachability distancesstatic doubleUNDEFINED_DISTANCEundefined value for (reachability/average) distance
-
Constructor Summary
Constructors Constructor Description FastOPTICS(int minpts, RandomProjectedNeighborsAndDensities index)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidexpandClusterOrder(DBID ipt, ClusterOrder order, DistanceQuery<V> dq, FiniteProgress prog)OPTICS algorithm for processing a point, but with different density estimatesTypeInformation[]getInputTypeRestriction()Get the input type restriction used for negotiating the data query.intgetMinPts()Get the minpts value used.ClusterOrderrun(Relation<V> relation)Run the algorithm.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.clustering.optics.OPTICSTypeAlgorithm
autorun
-
-
-
-
Field Detail
-
LOG
private static final Logging LOG
Class logger.
-
UNDEFINED_DISTANCE
public static final double UNDEFINED_DISTANCE
undefined value for (reachability/average) distance- See Also:
- Constant Field Values
-
order
ClusterOrder order
Result: output order of points
-
reachDist
WritableDoubleDataStore reachDist
Result: reachability distances
-
processed
ModifiableDBIDs processed
processed points
-
inverseDensities
DoubleDataStore inverseDensities
Inverse Densities correspond to average distances in point set of projections
-
minPts
int minPts
MinPts parameter.
-
index
RandomProjectedNeighborsAndDensities index
Index.
-
-
Constructor Detail
-
FastOPTICS
public FastOPTICS(int minpts, RandomProjectedNeighborsAndDensities index)Constructor.- Parameters:
minpts- Minimum number of neighbors.index- Index
-
-
Method Detail
-
getInputTypeRestriction
public TypeInformation[] getInputTypeRestriction()
Description copied from interface:AlgorithmGet the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestrictionin interfaceAlgorithm- Returns:
- Type restriction
-
run
public ClusterOrder run(Relation<V> relation)
Run the algorithm.- Parameters:
relation- Relation
-
expandClusterOrder
protected void expandClusterOrder(DBID ipt, ClusterOrder order, DistanceQuery<V> dq, FiniteProgress prog)
OPTICS algorithm for processing a point, but with different density estimates- Parameters:
ipt- Pointorder- Cluster order (output)dq- Distance queryprog- Progress for logging.
-
getMinPts
public int getMinPts()
Description copied from interface:OPTICSTypeAlgorithmGet the minpts value used. Needed for OPTICS Xi.- Specified by:
getMinPtsin interfaceOPTICSTypeAlgorithm- Returns:
- minpts value
-
-