Package elki.clustering.dbscan
Class GriDBSCAN<V extends elki.data.NumberVector>
- java.lang.Object
-
- elki.clustering.dbscan.GriDBSCAN<V>
-
- Type Parameters:
V- the type of vector the algorithm is applied to
- All Implemented Interfaces:
elki.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 elki.data.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 classGriDBSCAN.Instance<V extends elki.data.NumberVector>Instance, for a single run.
-
Field Summary
Fields Modifier and Type Field Description protected elki.distance.Distance<? super V>distanceDistance function used.protected doubleepsilonHolds the epsilon radius threshold.protected doublegridwidthWidth of the grid cells.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<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 elki.logging.Logging LOG
The logger for this class.
-
distance
protected elki.distance.Distance<? super V extends elki.data.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!
-
-
Constructor Detail
-
GriDBSCAN
public GriDBSCAN(elki.distance.Distance<? super V> distance, double epsilon, int minpts, double gridwidth)
Constructor with parameters.- Parameters:
distance- Distance functionepsilon- Epsilon valueminpts- Minpts parametergridwidth- Grid width
-
-
Method Detail
-
getInputTypeRestriction
public elki.data.type.TypeInformation[] getInputTypeRestriction()
- Specified by:
getInputTypeRestrictionin interfaceelki.Algorithm
-
run
public Clustering<Model> run(elki.database.relation.Relation<V> relation)
Performs the DBSCAN algorithm on the given database.
-
-