FindClusters has a built-in Method called "DBSCAN". You can find it on this page:


There you can also find two important additional options for the "DBSCAN" which are "NeighborhoodRadius" and "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.

  • $\begingroup$ What have you tried so far? $\endgroup$ – user6014 Nov 7 '18 at 19:57
  • $\begingroup$ Well i dont know of a way to fix it without programming a completly knew DBSCAN so i did that in java because i have programmed alot in java and i have one that that works but i cant get anything to work in mathematica $\endgroup$ – Terry McGovern Nov 7 '18 at 20:00
  • $\begingroup$ If this is a holdup for you, consider using JLink to load your Java function until you have solved it. $\endgroup$ – C. E. Nov 8 '18 at 9:53
  • $\begingroup$ Just an update if anyone cares about a fixed DBSCAN im still working on it and its nearly done $\endgroup$ – Terry McGovern Nov 28 '18 at 20:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.