- (1) k-means clustering
- (2) Gaussian mixture model - expectation maximization algorithm (EM-GMM)
- (3) mean-shift clustering
- (4) agglomerative clustering
KMeans.py
: k-means clusteringKMeans_Ver0.py
: second version of k-means implementation as a functionGaussianMM.py
: EM-GMMGaussianMM_Ver0.py
: second version of EM-GMM implementation with functions of AIC, BIC and predictMeanShift.py
: mean-shift clusteringAgglomerative
: agglomerative clustering
test_2d_visualization.py
: tests on 2D datasets with visualization, compared with sklearn implementationdata_2d_test folder
: datasets for teststest_2d_visualization_results folder
: output images of tests
The following figures compare the clustering results of my own implementations with those of scikit-learn's implementations. Each dataset is processed using different clustering algorithms.
Algorithm | My Implementation | Scikit-learn |
---|---|---|
Agglomerative | ![]() |
![]() |
EM-GMM | ![]() |
![]() |
K-Means | ![]() |
![]() |
Mean-Shift | ![]() |
![]() |
Algorithm | My Implementation | Scikit-learn |
---|---|---|
Agglomerative | ![]() |
![]() |
EM-GMM | ![]() |
![]() |
K-Means | ![]() |
![]() |
Mean-Shift | ![]() |
![]() |
Algorithm | My Implementation | Scikit-learn |
---|---|---|
Agglomerative | ![]() |
![]() |
EM-GMM | ![]() |
![]() |
K-Means | ![]() |
![]() |
Mean-Shift | ![]() |
![]() |