Comments (4)
@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.
@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.
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.
Thanks a lot for the update
from density-clustering.
Related Issues (14)
- Are there charts to show the clusters? HOT 2
- Type checking
- Incorrect type declarations
- What is the meaning of the result? HOT 2
- Optics Error?
- Support esm
- UTF8-BOM Encoding
- DBScan.js - Variable not defined HOT 1
- DBScan - am I understandig it wrong? HOT 2
- OPTICS: Core Distance Calculation HOT 4
- Add info how to use it. HOT 2
- Splice eating up the stack memory
- variable not initialized
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from density-clustering.