The objective of this lab is to illustrate basic concepts of clustering.
_Note: For each notebook, read the cells and run the code, then follow the instructions/questions in the questions` or `Exercise` cells._`
See the notebooks in the [`7_Clustering`](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/notebooks/7_Clustering/) folder
1. Implement your own version of Kmeans in 1D for Euclidean distance [`N1_Kmeans_basic.ipynb`](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/notebooks/7_Clustering/N1_Kmeans_basic.ipynb)
and compare the obtained results with Sklearn Kmeans implementation.
2. Apply Kmeans algorithm (Sklearn implementation) to the classical Iris dataset [`N2_KMeans_iris_data_example.ipynb`](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/notebooks/7_Clustering/N2_KMeans_iris_data_example.ipynb)
3. Implement a Kernelized version of Kmeans, and test the importance of adequate parametrization or choice of initial conditions
4. Implement your own version of EM for Gaussian model and apply it to the same example used for Kmeans in a preceeding notebook. Compare with KMeans and interpret the results [`N4_EM_basic.ipynb`](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/notebooks/7_Clustering/N4_EM_basic.ipynb)
5. Example of EM application on the Iris data set [`N5_EM_iris_data_example.ipynb`](https://gricad-gitlab.univ-grenoble-alpes.fr/chatelaf/ml-sicom3a/-/blob/master/notebooks/7_Clustering/N5_EM_iris_data_example.ipynb)