Package elki.clustering.dbscan
Class DBSCAN<O>
- java.lang.Object
-
- elki.clustering.dbscan.DBSCAN<O>
-
- Type Parameters:
O- the type of Object the algorithm is applied to
- All Implemented Interfaces:
elki.Algorithm,ClusteringAlgorithm<Clustering<Model>>
@Title("DBSCAN: Density-Based Clustering of Applications with Noise") @Description("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="Martin Ester, Hans-Peter Kriegel, J\u00f6rg Sander, Xiaowei Xu",title="A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise",booktitle="Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining (KDD \'96)",url="http://www.aaai.org/Library/KDD/1996/kdd96-037.php",bibkey="DBLP:conf/kdd/EsterKSX96") @Reference(authors="Erich Schubert, J\u00f6rg Sander, Martin Ester, Hans-Peter Kriegel, Xiaowei Xu",title="DBSCAN Revisited, Revisited: Why and How You Should (Still) Use DBSCAN",booktitle="ACM Trans. Database Systems (TODS)",url="https://doi.org/10.1145/3068335",bibkey="DBLP:journals/tods/SchubertSEKX17") @Priority(200) public class DBSCAN<O> extends java.lang.Object implements ClusteringAlgorithm<Clustering<Model>>Density-Based Clustering of Applications with Noise (DBSCAN), an algorithm to find density-connected sets in a database.Reference:
Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu
A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise
Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining (KDD '96)Further discussion:
Erich Schubert, Jörg Sander, Martin Ester, Hans-Peter Kriegel, Xiaowei Xu
DBSCAN Revisited, Revisited: Why and How You Should (Still) Use DBSCAN
ACM Trans. Database Systems (TODS)- Since:
- 0.1
- Author:
- Arthur Zimek, Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classDBSCAN.InstanceInstance for a single data set.static classDBSCAN.Par<O>Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description protected elki.distance.Distance<? super O>distanceDistance function used.protected doubleepsilonHolds the epsilon radius threshold.private static elki.logging.LoggingLOGThe logger for this class.protected intminptsHolds the minimum cluster size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description elki.data.type.TypeInformation[]getInputTypeRestriction()Clustering<Model>run(elki.database.relation.Relation<O> relation)Performs the DBSCAN algorithm on the given database.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.clustering.ClusteringAlgorithm
autorun
-
-
-
-
Field Detail
-
LOG
private static final elki.logging.Logging LOG
The logger for this class.
-
distance
protected elki.distance.Distance<? super O> distance
Distance function used.
-
epsilon
protected double epsilon
Holds the epsilon radius threshold.
-
minpts
protected int minpts
Holds the minimum cluster size.
-
-
Constructor Detail
-
DBSCAN
public DBSCAN(elki.distance.Distance<? super O> distance, double epsilon, int minpts)
Constructor with parameters.- Parameters:
distance- Distance functionepsilon- Epsilon valueminpts- Minpts parameter
-
-
Method Detail
-
getInputTypeRestriction
public elki.data.type.TypeInformation[] getInputTypeRestriction()
- Specified by:
getInputTypeRestrictionin interfaceelki.Algorithm
-
run
public Clustering<Model> run(elki.database.relation.Relation<O> relation)
Performs the DBSCAN algorithm on the given database.
-
-