Giter Site home page Giter Site logo

Comments (4)

uhho avatar uhho commented on June 25, 2024

@awenger Thanks for your comment!

As far as I understand the algorithm, this is correct behaviour.
According to algorithm description, minPts is a minimum number of points in ε-neighbourhood around the core point to form a cluster.
In your case, ε is was too small to form a cluster containing at least 3 points, so all points were marked as a noise.

Yes, I agree with you it may be confusing and all parameters needs brief explanation.
I've got two ideas:

  • write more detailed explaination it in JSDoc comments included in the code
  • add API.md containing list of exposed functions and detailed explaination

What do you think?
If you want to help, feel free to submit pull request!

from density-clustering.

awenger avatar awenger commented on June 25, 2024

@lukaszkrawczyk I'm also not 100% sure. But if I look at wikipedia it describes the parameters as: DBSCAN requires two parameters: ε (eps) and the minimum number of points required to form a dense region [1]

The pseudocode for regionQuery also includes the point that was used to query the neighborhood [1]:

regionQuery(P, eps)
   return all points within P's eps-neighborhood (including P)

I guess this is different in this DBSCAN implementation: https://github.com/LukaszKrawczyk/clustering/blob/master/lib/DBSCAN.js#L184

What do you think?
[1] http://en.wikipedia.org/wiki/DBSCAN

from density-clustering.

uhho avatar uhho commented on June 25, 2024

Yes... there was a similar discussion on including core point in OPTICS algorithm some time ago:
#4.

I checked how it's implemented in other libraries (such as e.g. SciKit), and I'm more and more confident we should change the algorithm to include core points, both in DBSCAN and OPTICS.

I will modify code and update package on NPM.

from density-clustering.

awenger avatar awenger commented on June 25, 2024

Thanks a lot for the update

from density-clustering.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.