Application de l’algorithme K-Means sur un jeu de données synthétiques avec visualisations interactives.
1. Génération et affichage des données
Création des données synthétiques et premier affichage
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
#Génération des données
X, y = make_blobs(n_samples=100, centers=3, cluster_std=1) #Création de 3 clusters
2. Application de l'algorithme K-Means
Création et exécution du modèle
from sklearn.cluster import KMeans
#Utilisation du modèle K_mean
model = KMeans(n_clusters=3, n_init=10, max_iter=200)#cherche 3 clusters
model.fit(X) #entrainement du modèle
labels = model.predict(X) #prédiction
Calcul de l'inertie pour différents nombres de clusters
inertia = [] #somme des distances au carré entre chaque point et son centroid
K_range = range(1, 20)
for k in K_range:
model = KMeans(n_clusters=k).fit(X)
inertia.append(model.inertia_)
#coude = nombre idéal de clusters
plt.plot(K_range, inertia)
plt.show()
5. Visualisations interactives avec Plotly
Visualisation interactive des clusters, des centres permettant d'observer la qualité du clustering selon le nombre de clusters.
D'après le graphique, le nombre de cluster idéal est 3.