Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Implémentation sur un Jeu de Données Fictif | K-Means
Analyse de Clusters avec Python

Implémentation sur un Jeu de Données Fictif

Glissez pour afficher le menu

Vous allez maintenant parcourir un exemple pratique d'application du clustering K-means. Pour cela, vous utiliserez un jeu de données factice. Les jeux de données factices sont des ensembles de données générés artificiellement, souvent utilisés à des fins de démonstration et d'apprentissage. Ils permettent de contrôler les caractéristiques des données et d'observer clairement comment des algorithmes comme K-means fonctionnent.

Jeu de données factice

Pour cette démonstration, nous allons créer un jeu de données factice à l'aide de la fonction make_blobs(). Cette fonction est idéale pour générer des groupes de points de données de manière visuellement claire et contrôlable. Nous allons générer des données avec les caractéristiques suivantes :

  • Nombre d'échantillons : nous allons créer un jeu de données avec 300 points de données ;

  • Nombre de centres : nous allons fixer le nombre de vrais groupes à 4. Cela signifie que les données factices sont conçues pour avoir quatre groupes distincts ;

  • Écart-type des groupes : nous allons contrôler la dispersion des points de données au sein de chaque groupe, en la fixant à 0.60 pour des groupes relativement compacts ;

  • État aléatoire : nous utiliserons une valeur fixe pour random_state afin d'assurer la reproductibilité, garantissant que la génération des données soit cohérente à chaque exécution du code.

X, y_true = make_blobs(n_samples=300,
                       centers=4,
                       cluster_std=0.60,
                       random_state=0)

Implémentation de K-means

Avec ces données factices créées, nous allons ensuite appliquer l'algorithme K-means. Nous explorerons comment K-means tente de partitionner ces données en groupes selon les principes abordés dans les chapitres précédents.

K-means peut être initialisé et entraîné comme suit en Python :

kmeans = KMeans(n_clusters=k, random_state=42) 
kmeans.fit(X)

Pour déterminer le nombre optimal de groupes pour ces données, nous utiliserons les méthodes discutées dans les chapitres précédents :

  • Méthode WSS : nous calculerons la somme des carrés intra-groupes (Within-Sum-of-Squares) pour différentes valeurs de K et analyserons le graphique du coude pour identifier un K optimal potentiel ;

  • Méthode du score de silhouette : nous calculerons le score de silhouette pour différentes valeurs de K et examinerons le graphique de silhouette ainsi que les scores moyens pour trouver le K qui maximise la qualité des groupes.

Enfin, les visualisations joueront un rôle essentiel dans notre implémentation. Nous visualiserons :

  • Les données factices elles-mêmes, pour observer la structure intrinsèque des groupes ;

  • Le graphique WSS, pour identifier le point de coude ;

  • Le graphique de silhouette, pour évaluer la qualité des groupes pour différentes valeurs de K ;

  • Les groupes finaux de K-means superposés aux données factices, afin de vérifier visuellement les résultats du clustering et le K optimal choisi.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 3. Chapitre 5
some-alt