O
- the type of DatabaseObjects handled by the algorithm@Title(value="OPTICS: Density-Based Hierarchical Clustering") @Description(value="Algorithm to find density-connected sets in a database based on the parameters \'minPts\' and \'epsilon\' (specifying a volume). These two parameters determine a density threshold for clustering.") @Reference(authors="M. Ankerst, M. Breunig, H.-P. Kriegel, and J. Sander", title="OPTICS: Ordering Points to Identify the Clustering Structure", booktitle="Proc. ACM SIGMOD Int. Conf. on Management of Data (SIGMOD \'99)", url="http://dx.doi.org/10.1145/304181.304187") @Alias(value={"OPTICS","de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICS"}) public class OPTICS<O> extends AbstractDistanceBasedAlgorithm<O,ClusterOrderResult<DoubleDistanceClusterOrderEntry>> implements OPTICSTypeAlgorithm<DoubleDistanceClusterOrderEntry>
M. Ankerst, M. Breunig, H.-P. Kriegel, and J. Sander:
OPTICS: Ordering Points to Identify the Clustering Structure.
In: Proc. ACM SIGMOD Int. Conf. on Management of Data (SIGMOD '99).
Modifier and Type | Class and Description |
---|---|
static class |
OPTICS.Parameterizer<O>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private double |
epsilon
Holds the maximum distance to search for objects (performance parameter)
|
private static Logging |
LOG
The logger for this class.
|
private int |
minpts
The density threshold, in number of points.
|
private ModifiableDBIDs |
processedIDs
Holds a set of processed ids.
|
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
OPTICS(DistanceFunction<? super O> distanceFunction,
double epsilon,
int minpts)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
expandClusterOrder(ClusterOrderResult<DoubleDistanceClusterOrderEntry> clusterOrder,
Relation<O> database,
RangeQuery<O> rangeQuery,
DBID objectID,
double epsilon,
FiniteProgress progress)
OPTICS-function expandClusterOrder.
|
Class<? super DoubleDistanceClusterOrderEntry> |
getEntryType()
Get the entry type.
|
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.
|
ClusterOrderResult<DoubleDistanceClusterOrderEntry> |
run(Relation<O> relation)
Run OPTICS on the database.
|
getDistanceFunction
makeParameterDistanceFunction, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
private double epsilon
private int minpts
private ModifiableDBIDs processedIDs
public OPTICS(DistanceFunction<? super O> distanceFunction, double epsilon, int minpts)
distanceFunction
- Distance functionepsilon
- Epsilon valueminpts
- Minpts valuepublic ClusterOrderResult<DoubleDistanceClusterOrderEntry> run(Relation<O> relation)
relation
- Relationprotected void expandClusterOrder(ClusterOrderResult<DoubleDistanceClusterOrderEntry> clusterOrder, Relation<O> database, RangeQuery<O> rangeQuery, DBID objectID, double epsilon, FiniteProgress progress)
clusterOrder
- Cluster order result to expanddatabase
- the database on which the algorithm is runrangeQuery
- the range query to useobjectID
- the currently processed objectepsilon
- Query epsilonprogress
- the progress object to actualize the current progress if
the algorithmpublic int getMinPts()
OPTICSTypeAlgorithm
getMinPts
in interface OPTICSTypeAlgorithm<DoubleDistanceClusterOrderEntry>
public Class<? super DoubleDistanceClusterOrderEntry> getEntryType()
OPTICSTypeAlgorithm
getEntryType
in interface OPTICSTypeAlgorithm<DoubleDistanceClusterOrderEntry>
public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<ClusterOrderResult<DoubleDistanceClusterOrderEntry>>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<ClusterOrderResult<DoubleDistanceClusterOrderEntry>>
Copyright © 2014 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.