Introduction
Dans ce laboratoire, nous explorerons l'algorithme de regroupement K-Means et son implantation en Python à l'aide de la bibliothèque scikit-learn. Le regroupement est un type d'apprentissage non supervisé qui consiste à regrouper des points de données en clusters en fonction de leur similarité. Le regroupement K-Means est un algorithme populaire de regroupement et est largement utilisé dans divers domaines tels que le traitement d'images, l'informatique bio et la recherche de marché.
Conseils sur la VM
Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites de Jupyter Notebook.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session et nous réglerons rapidement le problème pour vous.
Importation des bibliothèques
Tout d'abord, nous devons importer les bibliothèques nécessaires pour ce laboratoire. Nous utiliserons NumPy, Matplotlib et scikit-learn.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn import datasets
Chargement des données
Ensuite, nous allons charger l'ensemble de données iris, qui est un ensemble de données populaire en apprentissage automatique. Cet ensemble de données contient des informations sur les caractéristiques de différents types de fleurs de lys. Nous allons utiliser cet ensemble de données pour démontrer l'algorithme de regroupement K-Means.
iris = datasets.load_iris()
X = iris.data
y = iris.target
Visualisation des données
Avant d'appliquer l'algorithme de regroupement K-Means, visualisons d'abord les données pour mieux les comprendre. Nous utiliserons un nuage de points en 3D pour visualiser les données.
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection="3d")
ax.scatter(X[:, 0], X[:, 1], X[:, 2])
ax.set_xlabel("Sepal length")
ax.set_ylabel("Sepal width")
ax.set_zlabel("Petal length")
plt.show()
Appliquer le regroupement K-Means
Maintenant, nous allons appliquer l'algorithme de regroupement K-Means à nos données. Nous allons initialiser l'algorithme avec 3 clusters et l'ajuster à nos données.
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
Visualiser les clusters
Après avoir appliqué l'algorithme de regroupement K-Means, visualisons les clusters qui ont été formés. Nous utiliserons un nuage de points en 3D pour visualiser les points de données et leurs clusters respectifs.
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection="3d")
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=kmeans.labels_)
ax.set_xlabel("Sepal length")
ax.set_ylabel("Sepal width")
ax.set_zlabel("Petal length")
plt.show()
Évaluer le regroupement
Pour évaluer les performances de l'algorithme de regroupement K-Means, nous pouvons calculer le score d'inertie. Le score d'inertie mesure la somme des distances entre chaque point de données et le centre de cluster auquel il est assigné. Un score d'inertie plus bas indique un regroupement meilleur.
print("Inertia Score:", kmeans.inertia_)
Sommaire
Dans ce laboratoire, nous avons appris à propos de l'algorithme de regroupement K-Means et de son implantation en Python à l'aide de la bibliothèque scikit-learn. Nous avons chargé l'ensemble de données iris, visualisé les données, appliqué l'algorithme de regroupement K-Means et évalué ses performances. Le regroupement est une technique puissante pour l'analyse de données et peut être utilisée dans diverses applications.