Commit d8fa1bc4 authored by TheophilePACE's avatar TheophilePACE
Browse files

tp clustering v0.1

parent a45a3813
%% Cell type:markdown id: tags:
# TP Clustering / non-supervisé
%% Cell type:markdown id: tags:
Aujourd'hui, on utilisera les données proposées par scikit learn. Ces données sont déjà nettoyées, déjà prêtes dans la libraries.
Pour commencer, importer les libraries : numpy, matplotlib et le module datasets de scikit-learn
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Maintenant, on va utiliser les fonctions suivantes de la libraire dataset : datasets.make_circles, datasets.make_moons, datasets.make_blobs, datasets.make_blobs.
Consulter la documentation intégrées de ces méthodes.
Vous pouvez trouver des exemples d'utilisation de ces méthodes sur https://scikit-learn.org/stable/auto_examples/cluster/plot_cluster_comparison.html
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Générer 4 datasets, avec les paramètres suivants: n = 100, noise = .05, random_state = 8, cluster_std=[1.0, 2.5, 0.5].
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Tracer les données générées dans $R^2$.
Commenter la difficulté du clustering.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
# Formatage du jeu de données
%% Cell type:markdown id: tags:
Pour entrainer nos alogrithmes, on va splitter notre jeu de données en 3 sous jeu de données:
- train
- validation
- test
Pourquoi est-ce nécessaire?
Pour cela, utiliser la fonction scikit-learn `sklearn.model_selection.train_test_split`. Importer cette méthode,
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
# K-means
Utiliser les k-means sur chacun des datasets. __Conseil:__ : Une cellule par dataset pour plus de clarté.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Comment avez vous choisi K ? Faites quelques testes, commentez les résultats. Gardez le meilleur hyperparmètre K.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Relancer plusieurs fois pour chaque dataset. Obtenez-vous les mêmes résultats? Si non, pourquoi?
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
# ACP / PCA / Principal Components Analysis
On a vu la PCA ce matin. La fonction Scikit pour cette transformation est `sklearn.decomposition.PCA`. À vrai dire, c'est un objet. Consulter la documentation rapidemment : https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html ou la doc intégrée.
Effectuer une PCA sur vos données avec 2 composants.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Commentez la variance que vous avez pu expliquer.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Charger le jeu de données iris. Ce jeu de données est un dataset très connu, assez facile.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Effectuer une PCA. Quelle est la variance expliquée?
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Finalement, tracer ce jeu de données dans $R^2$. Est-ce facile de retrouver des clusters?
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
# Si vous vous ennuyez
Si vous avez le temps, essayez de lancer un k-means sur les iris. Ensuite, effectuez une PCA, puis relancer des k-means.
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
Est-ce que vos résultats sont différents ?
Essayer de tracer vos résultats, en indiquant les clusters trouvés.
%% Cell type:code id: tags:
``` python
```
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment