Very cool. In spite of all the deep learning hype, I’ve got deep (no pun intended) love in my heart for Kmeans and all of the unsupervised algorithms.
I built a similar library in C# once upon a time, but your builder pattern is neat. I also didn’t use multi-threading, which is an VERY nice addition. Interested in your spherical and balanced variants. I don’t have intuition for why something like subbing cosine similarity would be meaningful (since you are clustering points and not vectors - although I understand mechanically how it’s carried out). Overall, kudos - looks nice at a glance!
Very cool. In spite of all the deep learning hype, I’ve got deep (no pun intended) love in my heart for Kmeans and all of the unsupervised algorithms. I built a similar library in C# once upon a time, but your builder pattern is neat. I also didn’t use multi-threading, which is an VERY nice addition. Interested in your spherical and balanced variants. I don’t have intuition for why something like subbing cosine similarity would be meaningful (since you are clustering points and not vectors - although I understand mechanically how it’s carried out). Overall, kudos - looks nice at a glance!