Package elki.clustering.dbscan
Class GriDBSCAN<V extends NumberVector>
- java.lang.Object
-
- elki.clustering.dbscan.GriDBSCAN<V>
-
- Type Parameters:
V
- the type of vector the algorithm is applied to
- All Implemented Interfaces:
Algorithm
,ClusteringAlgorithm<Clustering<Model>>
@Title("GriDBSCAN: Using Grid for Accelerating Density-Based Clustering") @Reference(authors="S. Mahran, K. Mahar", title="Using grid for accelerating density-based clustering", booktitle="8th IEEE Int. Conf. on Computer and Information Technology", url="https://doi.org/10.1109/CIT.2008.4594646", bibkey="DBLP:conf/IEEEcit/MahranM08") public class GriDBSCAN<V extends NumberVector> extends java.lang.Object implements ClusteringAlgorithm<Clustering<Model>>
Using Grid for Accelerating Density-Based Clustering.An accelerated DBSCAN version for numerical data and Lp-norms only, by partitioning the data set into overlapping grid cells. For best efficiency, the overlap of the grid cells must be chosen well. The authors suggest a grid width of 10 times epsilon.
Because of partitioning the data, this version does not make use of indexes.
Reference:
S. Mahran, K. Mahar
Using grid for accelerating density-based clustering
In 8th IEEE Int. Conf. on Computer and Information Technology, 2008.- Since:
- 0.7.1
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
GriDBSCAN.Instance<V extends NumberVector>
Instance, for a single run.-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Field Summary
Fields Modifier and Type Field Description protected Distance<? super V>
distance
Distance function used.protected double
epsilon
Holds the epsilon radius threshold.protected double
gridwidth
Width of the grid cells.private static Logging
LOG
The logger for this class.protected int
minpts
Holds the minimum cluster size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TypeInformation[]
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.Clustering<Model>
run(Relation<V> 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 Logging LOG
The logger for this class.
-
distance
protected Distance<? super V extends NumberVector> distance
Distance function used.
-
epsilon
protected double epsilon
Holds the epsilon radius threshold.
-
minpts
protected int minpts
Holds the minimum cluster size.
-
gridwidth
protected double gridwidth
Width of the grid cells. Must be at least 2 epsilon!
-
-
Method Detail
-
getInputTypeRestriction
public TypeInformation[] getInputTypeRestriction()
Description copied from interface:Algorithm
Get the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestriction
in interfaceAlgorithm
- Returns:
- Type restriction
-
run
public Clustering<Model> run(Relation<V> relation)
Performs the DBSCAN algorithm on the given database.
-
-