Speaking of machine learning algorithms, we implemented K-Means clustering algorithm two years ago as a part of Data Mining course (CS-555). The purpose was to given a dataset, cluster it into two or more parts and then optimize the algorithm for number of clusters.
We used data from UCI Machine