This project explores a variety of clustering techniques using the latest version of the scikit-learn
library. Each algorithm is demonstrated with example datasets, providing practical insights into how clustering can be applied across different scenarios.
The Notebooks
folder contains implementations of the following clustering algorithms:
- K-means
- MiniBatch-K-means
- Bisecting-K-means
- Hierarchical-Clustering(Agglomerative)
- DBscan
- Mean-shift
- Optics
- Spectral-clustering
- Spectral-biclustering
- Affinity-Propagation
- HDBSCAN
- Brich
- Gaussian-mixture
- Bayesian-Gaussian-Mixture
Each clustering algorithm is evaluated using the following metrics to assess its performance:
- Silhouette Score
- Calinski-Harabasz Score
- Davies-Bouldin Score
-
python >=3.9
-
To run this project first install the dependencies by running the following command:
$ pip install -r requirements.txt