Initial commit.
Finish first part - centroids calculation.
Finished second part.
Add random initialization to kmeans.
Finish part three - PCA computation.
Finish part four - data projection onto eigen vector.
Finish part five - reconstruct data.