Vous êtes sur la page 1sur 3

TP4 :

Classification non supervisée et clustering

Les objectifs de ce TP sont :


- Déterminer le nombre des classes en utilisant les méthodes : méthode de coude,
Coefficient de Silhouette et Hierarchical Clustering.
- Clustering en utilisant Kmeans et fuzzy Kmeans.

Partie I : Préparation d'une base de données artificielle


I.1/ Donner les rôles de ces commandes :
from sklearn.datasets.samples_generator import make_blobs
Data, y=make_blobs(n_samples=600,n_features=2,centers=4)
I.2/ Visualiser les données de Data (Feature 1 en fonction de Feature 0).
I.3/ Répéter l'exécution de la fonction " make_blobs " de la question I.1 jusqu'a trouver une
bonne distribution des données, comme la figure 4.1 montre :

Figure 4.1 : Distribution des données.

Partie II : Détermination de nombre des classes


Le but de cette partie est de déterminer le nombre de classes de la base de données Data. Vous
utilisez trois méthodes à savoir; la méthode de Coude, le Coefficient de Silhouette et
Hierarchical Clustering.
II.1/ La méthode de Coude :
a) Monter que le nombre des classes égale à 4 en utilisant la méthode de coude et définir le
nombre des classe k entre 2 à 10.

1
2019/2020 Mme. Khaoula Tbarki
b) Tracer la courbe de Somme des distances carré (Sum_of_squared_distances) en fonction de
k. Analyser la courbe.
II.2/ Le Coefficient de Silhouette :
a) Pour k=2,...10, calculer la valeur moyenne de la silhouette.
b) Tracer la courbe de coefficient de silhouette en fonction des étiquettes des classes pour
chaque cas du k, et visualiser les données regroupées.
Par exemple pour k=3, la courbe est représentée par la figure 4.2.

Figure 4.2 : L'analyse de silhouette pour k=3.


c) Analyse les résultats obtenus et monter que le nombre des classes égale à 4 en utilisant le
Coefficient de Silhouette.
II.3/ Hierarchical Clustering
a) Tracer le dendrogram de données Data.
b) Choisir une distance optimale pour déterminer le nombre des clusters.
c) Tracer une ligne horizontale passante par la distance choisie.
d) Donner le nombre de cluster obtenu et justifier votre réponse.
II.4/ Comparer les résultats obtenus de trois méthodes.

Partie III : Clustring


Dans cette vous allez déterminer les étiquettes de données Data en utilisant kmeans et Fuzzy
kmeans.
III.1/ Kmeans
a) Former le modèle Kmeans en utilisant les données Data et en choisissant k=4.
b) Utiliser la fonction Kmeans.predict pour déterminer les étiquettes.
c) Visualiser les données en utilisant les étiquettes obtenus par Kmeans.

2
2019/2020 Mme. Khaoula Tbarki
d) Afficher les valeurs de centroids.
e) Afficher les étiquettes de la base de données Data obtenues par Kmeans.
III.2/ Refaire le même travail de III.1 avec Fuzzy-Kmeans
Remarque
Les packages nécessaires :
from sklearn.cluster import KMeans
import scipy.cluster.hierarchy as shc
from sklearn.metrics import silhouette_samples, silhouette_score
import matplotlib.cm as cm

3
2019/2020 Mme. Khaoula Tbarki

Vous aimerez peut-être aussi