Three popular clustering algorithms (for d >= 2 dimensions, k >= 2 clusters): (1) k-means (2) EM-GMM (Gaussian mixture model - expectation maximization) (3) mean-shift
Python implementations: KMeans.py: k-means GaussianMM.py: EM-GMM (Gaussian mixture model - expectation maximization) GaussianMM_Ver0.py: another version for EM-GMM (Gaussian mixture model - expectation maximization) MeanShift.py: mean-shift MeanShift_Ver0.py: another version for mean-shift
Test on 2D datasets for visualization, compared with sklearn implementation: (1) blobs pattern (2) sticks pattern (3) moon and stars pattern