RACplusplus
A high performance implementation of Reciprocal Agglomerative Clustering in C++ (by porterehunley)
hdbscan
A high performance implementation of HDBSCAN clustering. (by scikit-learn-contrib)
RACplusplus | hdbscan | |
---|---|---|
1 | 6 | |
43 | 2,686 | |
- | 1.2% | |
4.0 | 5.8 | |
8 months ago | 21 days ago | |
Jupyter Notebook | Jupyter Notebook | |
MIT License | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RACplusplus
Posts with mentions or reviews of RACplusplus.
We have used some of these posts to build our list of alternatives
and similar projects.
-
[P] I created a parallelized implementation of Agglomerative clustering that's many times faster than existing implementations and has a better runtime
Here is the code: https://github.com/porterehunley/RACplusplus. It would be great to have some people try it out (and find the bugs)!
hdbscan
Posts with mentions or reviews of hdbscan.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-09-16.
-
Introducing the Semantic Graph
A number of excellent topic modeling libraries exist in Python today. BERTopic and Top2Vec are two of the most popular. Both use sentence-transformers to encode data into vectors, UMAP for dimensionality reduction and HDBSCAN to cluster nodes.
- Hierarchical clustering algorithm
-
Introduction to K-Means Clustering
Working in spatial data science, I rarely find applications where k-means is the best tool. The problem is that it is difficult to know how many clusters you can expect on maps. Is it 5, 500, or 10,000? Here HDBSCAN [1] shines because it will cluster _and_ select the most suitable number of clusters, to cut the single linkage cluster tree.
[1]: https://github.com/scikit-learn-contrib/hdbscan
-
New clustering algorithms like DBSCAN and OPTICS?
You might be interested in HDBSCAN which has several implementations, but the python implelementation is commonly used. That implementation makes use of algorithmic changes to significantly improve the computational complexity. Some more recent variations on that include the gamma-linkage variant which is quite powerful.
-
DBSCAN ALternatives?
The OPTICS algorithm is in the latest versions of sklearn and is a reasonable alternative to DBSCAN -- it has much the same theoretical foundation, but can cope with variable density clusters better. If you are willing to step outside sklearn itself there is also HDBSCAN which is a hierarchical clustering version of DBSCAN and is in sklearn-contrib so should be compatible with an sklearn pipeline.
-
[D] Good algorithm for clustering big data (sentences represented as embeddings)?
Maybe use (H)DBScan which I think should work also for huge datasets. I don't think there is a ready to use clustering with unbuild cosine similarily metrics, and you also won't be able to precompute the 100k X 100k dense similarity matrix. The only way to go on this is to L2 normalize your embeddings, then the dot product will be the angular distance as a proxy to the cosine similarily. See also https://github.com/scikit-learn-contrib/hdbscan/issues/69
What are some alternatives?
When comparing RACplusplus and hdbscan you can also consider the following projects:
pattern_classification - A collection of tutorials and examples for solving and understanding machine learning and pattern classification tasks
faiss - A library for efficient similarity search and clustering of dense vectors.