V
- the type of vector the algorithm is applied to@Title(value="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 AbstractDistanceBasedAlgorithm<V,Clustering<Model>> implements ClusteringAlgorithm<Clustering<Model>>
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.
Modifier and Type | Class and Description |
---|---|
protected static class |
GriDBSCAN.Instance<V extends NumberVector>
Instance, for a single run.
|
static class |
GriDBSCAN.Parameterizer<O extends NumberVector>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
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.
|
ALGORITHM_ID
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
GriDBSCAN(DistanceFunction<? super V> distanceFunction,
double epsilon,
int minpts,
double gridwidth)
Constructor with parameters.
|
Modifier and Type | Method and Description |
---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
Clustering<Model> |
run(Relation<V> relation)
Performs the DBSCAN algorithm on the given database.
|
getDistanceFunction
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
protected double epsilon
protected int minpts
protected double gridwidth
public GriDBSCAN(DistanceFunction<? super V> distanceFunction, double epsilon, int minpts, double gridwidth)
distanceFunction
- Distance functionepsilon
- Epsilon valueminpts
- Minpts parametergridwidth
- Grid widthpublic Clustering<Model> run(Relation<V> relation)
public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<Clustering<Model>>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<Clustering<Model>>
Copyright © 2019 ELKI Development Team. License information.