Explorer le regroupement K-Means avec Python

Beginner

This tutorial is from open-source community. Access the source code

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.