This submission addresses the issue tracked in https://github.com/ddbourgin/numpy-ml/issues/69
We have implemented a soft and hard version of kmeans clustering.
The works done can be summarized as follows:
Hard kmeans clustering with fixed assignment of data points to only one cluster at a time.
Soft kmeans clustering with probabilistic assignment of data points. Each data point has a membership degree in each cluster. The highest probable cluster could then be assigned as the cluster index of the data. Alternatively, the probability distribution can be used for any other purpose as it captures our uncertainty of the clustering routine.
[x] Is the code you are submitting your own work? Yes it is my original work
[x] Did you properly attribute the authors of any code you referenced? Yes I did
[x] Did you write unit tests for your new model? Yes I added unit tests by comparing algorithms to base implementation in scikit-learn.
[x] Does your submission pass the unit tests? Yes it does
[ ] Did you write documentation for your new model? For now, it is readme and code documentation
[ ] Have you formatted your code using the black deaults? Only followed the numpy styling guide
This submission addresses the issue tracked in https://github.com/ddbourgin/numpy-ml/issues/69 We have implemented a soft and hard version of kmeans clustering. The works done can be summarized as follows: