Course:CPSC312-2017-K-means-clustering

From UBC Wiki

K-means-clustering in Haskell

Authors: Sam C, Joel P

What is the problem?

Implement K-means-clustering in Haskell


What is the something extra?

We will implement vector quantization with k-means to process images.


What did we learn from doing this?

Through implementing k-means and vector quantization, we learned a few things. First, K-means seems to be sensitive to initialization. Results with few means seem to return odd results. There was some difficulty taking a png image, converting to RGB values on the scale of 0-255, and handling different types of numbers. We also discovered that haskell can be slow due to its immutable data property. Creating copies of the values leads to slow run times.

Finally, we found the world's best doggo (pictured).

Our github repository: https://github.com/blueish/hask-means