Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/augustocl/clusteranalysis.jl
Cluster Algorithms from Scratch with Julia Lang. (K-Means and DBSCAN)
https://github.com/augustocl/clusteranalysis.jl
algorithms cluster clustering dbscan dbscan-clustering julia k-means k-means-clustering machine-learning
Last synced: about 1 month ago
JSON representation
Cluster Algorithms from Scratch with Julia Lang. (K-Means and DBSCAN)
- Host: GitHub
- URL: https://github.com/augustocl/clusteranalysis.jl
- Owner: AugustoCL
- License: mit
- Created: 2021-07-29T01:19:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-07T22:06:14.000Z (about 2 years ago)
- Last Synced: 2024-10-27T19:58:12.516Z (about 2 months ago)
- Topics: algorithms, cluster, clustering, dbscan, dbscan-clustering, julia, k-means, k-means-clustering, machine-learning
- Language: Julia
- Homepage: https://augustocl.github.io/ClusterAnalysis.jl/
- Size: 6.3 MB
- Stars: 24
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# ClusterAnalysis.jl
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://AugustoCL.github.io/ClusterAnalysis.jl/stable)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://AugustoCL.github.io/ClusterAnalysis.jl/dev)
[![Build Status](https://github.com/AugustoCL/ClusterAnalysis.jl/workflows/CI/badge.svg)](https://github.com/AugustoCL/ClusterAnalysis.jl/actions)
[![Coverage](https://codecov.io/gh/AugustoCL/ClusterAnalysis.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/AugustoCL/ClusterAnalysis.jl)
[![DOI](https://zenodo.org/badge/390558951.svg)](https://zenodo.org/badge/latestdoi/390558951)
This package was **built from scratch**, entirely in [Julia Lang](https://julialang.org/), and implements a few popular clustering algorithms like K-Means and DBSCAN.
This is mostly a learning experiment, but the package were also built and documented to be used by anyone, Plug-and-Play. Just input your data as an Array or a [Tables.jl](https://discourse.julialang.org/t/tables-jl-a-table-interface-for-everyone/14071) type (like [DataFrames.jl](https://dataframes.juliadata.org/stable/)), then start training your clusters algorithms and analyze your results.
Documentation: [https://augustocl.github.io/ClusterAnalysis.jl/](https://augustocl.github.io/ClusterAnalysis.jl/)
## Algorithms Implemented
Currently we implemented two types of algorithms, a partitioned based ([K-Means](https://en.wikipedia.org/wiki/K-means_clustering)) and a spatial density based ([DBSCAN](https://en.wikipedia.org/wiki/DBSCAN)).> Go check the `Algorithms Overview` Section that contains all the details of how it works the algorithm and also got the bibliography and papers used during the research and development of the code.
>It's a great introduction to the algorithm and a good resource to read along with the source code.
- [DBSCAN](https://augustocl.github.io/ClusterAnalysis.jl/stable/algorithms/dbscan/)
- [K-Means](https://augustocl.github.io/ClusterAnalysis.jl/stable/algorithms/kmeans/)## How to install ClusterAnalysis.jl
```julia
# press ] to enter in Pkg REPL mode.
julia> ]
pkg> add ClusterAnalysis
```## To-Do
- [X] Add K-Means++ initialization, to go beyond the random initialization proposed by Andrew NG. DONE
- [X] Create DBSCAN algorithm. DONE
- [ ] Create Hierarchical clustering algorithms with single, complete and average linkage options.