FindClusters has a built-in
"DBSCAN". You can find it on this page:
There you can also find two important additional options for the
"DBSCAN" which are
"NeighborsNumber". In a
"DBSCAN" the algorithm establishes Core points: If they contain the needed amount of points in their neighborhood, given by
"NeighborsNumber" (which should be treated as minimum points needed), and the neighborhood has the size of
"NeighborhoodRadius" (which therefore has to be used as a maximum). But as you can read on the page I linked, they are used as averages in the Mathematica's implementation of the method. Doing it like this will give very bad results when using this function.
I'm new to programming in Mathematica so any help on programming a DBSCAN with the values set to maximum and minimum instead of average would be great even if it's only a small part of the program. Thanks in advance.