I'm beginner in Python coding and I'm trying to use DBSCAN algorithm to identify areas of the city with high density of flicker photographs. Is there any criteria of determining parameters of DBSCAN(eps, min_samples)?
Thanks
A guide that explains how to choose these parameters.
From the guide:
According to the originators of the DBSCAN algorithm (Ester, Kriegel, Sander and Xu, 1996) we can use this heuristic to find ε and MinPts : For a given k we build the sorted k-dist graph (you can read about it in the guide). The threshold point is the first point in the first “valley” of the sorted k-dist graph. The k-dist value of the threshold will be the ε value. The research indicates that the k-dist graphs for k > 4 don’t differ significantly from the 4-dist graph and they need considerably more computation. Therefore, they eliminate the parameter MinPts by setting it to 4 for all databases (for 2-dimensional data). The 4-dist value of the threshold point is used as the ε value for DBSCAN.
If you don’t want the MinPts value to be 4, you can decide the MinPts = k+1. A heuristic to choose k, is to set k to 2 ∗ dimensions -1 (Sander, Ester et al., 1998).
Another heuristic to choose MinPts value-
Where Pᵢ is the number of points in ε-neighborhood of point i, and n is the number of points in the dataset. For each different value of ε we will get the corresponding MinPts value (Sawant, 2014).