@Reference(authors="J. Schneider and M. Vlachos", title="Fast parameterless density-based clustering via random projections", booktitle="Proc. 22nd ACM international conference on Conference on Information & Knowledge Management (CIKM)", url="http://dx.doi.org/10.1145/2505515.2505590") public class FastOPTICS<V extends NumberVector> extends AbstractAlgorithm<ClusterOrder> implements OPTICSTypeAlgorithm
J. Schneider and M. Vlachos
Fast parameterless density-based clustering via random projections
Proc. 22nd ACM international conference on Conference on Information &
Knowledge Management (CIKM)
Modifier and Type | Class and Description |
---|---|
static class |
FastOPTICS.Parameterizer<V extends NumberVector>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
(package private) RandomProjectedNeighborsAndDensities<V> |
index
Index.
|
(package private) DoubleDataStore |
inverseDensities
Inverse Densities correspond to average distances in point set of
projections
|
private static Logging |
LOG
Class logger.
|
(package private) int |
minPts
MinPts parameter.
|
(package private) DataStore<? extends DBIDs> |
neighs
neighbors of a point
|
(package private) ClusterOrder |
order
Result: output order of points
|
(package private) ModifiableDBIDs |
processed
processed points
|
(package private) WritableDoubleDataStore |
reachDist
Result: reachability distances
|
static double |
UNDEFINED_DISTANCE
undefined value for (reachability/average) distance
|
Constructor and Description |
---|
FastOPTICS(int minpts,
RandomProjectedNeighborsAndDensities<V> index)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
expandClusterOrder(DBID ipt,
ClusterOrder order,
DistanceQuery<V> dq,
FiniteProgress prog)
OPTICS algorithm for processing a point, but with different density
estimates
|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
int |
getMinPts()
Get the minpts value used.
|
ClusterOrder |
run(Database db,
Relation<V> rel)
Run the algorithm.
|
makeParameterDistanceFunction, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
public static final double UNDEFINED_DISTANCE
ClusterOrder order
WritableDoubleDataStore reachDist
ModifiableDBIDs processed
DoubleDataStore inverseDensities
int minPts
RandomProjectedNeighborsAndDensities<V extends NumberVector> index
public FastOPTICS(int minpts, RandomProjectedNeighborsAndDensities<V> index)
minpts
- Minimum number of neighbors.index
- Indexpublic ClusterOrder run(Database db, Relation<V> rel)
db
- Databaserel
- Relationprotected void expandClusterOrder(DBID ipt, ClusterOrder order, DistanceQuery<V> dq, FiniteProgress prog)
ipt
- Pointorder
- Cluster order (output)dq
- Distance queryprog
- Progress for logging.public int getMinPts()
OPTICSTypeAlgorithm
getMinPts
in interface OPTICSTypeAlgorithm
public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<ClusterOrder>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<ClusterOrder>
Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.