Clusters et étiquettes connues
Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 13 sur 51.
Lorsque des étiquettes existent, mais que k-means ne les a jamais vues, vérifiez ce qu’il a trouvé : pd.crosstab compte chaque paire de cluster et d’étiquette.
labels = KMeans(n_clusters=3, n_init=10, random_state=0).fit_predict(X)
print(pd.crosstab(labels, kind))Pour 150 grains de café de 3 variétés, regroupés selon la longueur et la teneur en caféine : une ligne par groupe, une colonne par variété :
Chaque groupe est principalement composé d’un seul type ; seuls 6 haricots se sont égarés. Et k-means n’a jamais vu d’étiquette.
Les grappes ne sont toutefois pas des classes. Une correspondance proche signifie que les classes diffèrent dans les données. Une mauvaise correspondance est un constat, pas un bogue.
Défi
MoyenLes clusters k-means retrouvent-ils les espèces d’iris ? Le code de départ met les fleurs à l’échelle, conserve leurs noms dans species, lit k et les regroupe en clusters.
- Établissez un tableau croisé des clusters et des espèces.
- Pour chaque espèce, affichez son effectif le plus élevé dans un cluster, sur son effectif total.
- Comptez les clusters qui ne contiennent qu’une seule espèce.
Pour un autre jardin et k = 3 :
setosa: 48 of 50 share a cluster
versicolor: 41 of 50 share a cluster
virginica: 33 of 50 share a cluster
Clusters with one species: 0 of 3Essayez vous-même
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# 150 fleurs d’iris, dont les données sont mises à l’échelle, et le nom de l’espèce de chacune, caché à k-means
iris = load_iris()
X = StandardScaler().fit_transform(iris.data)
species = iris.target_names[iris.target]
k = int(input())
labels = KMeans(n_clusters=k, n_init=10, random_state=0).fit_predict(X)
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Apprentissage non supervisé
1Découvrir des groupes
Apprendre sans étiquettesMesurer la similaritéK-Means à la mainK-Means avec scikit-learnRécapitulatif : les membres de la salle de sport4Classification hiérarchique
Fusion étape par étapeModèles agglomératifsDendrogrammesRécapitulatif : races de chiens7L’ACP en pratique
Visualiser 64 dimensionsLes composantes comme motifsCompresser et reconstruireL’ACP avant un modèleRécapitulatif : scanner de visages10Projet : Explorateur de chiffres
Observer les chiffresRéduire avec la PCARegrouper les chiffresNommer les groupesRepérer les intrus2Choisir k
InertieLa méthode du coudeScores de silhouetteMettre à l’échelle avant le clusteringRécapitulatif : zones de livraison3Interpréter les clusters
Caractériser les clustersCentres dans les unités réellesClusters et étiquettes connuesQuand K-Means échoueRécapitulatif : dégustation de théEntraînez-vous par vous-même : Compilateur Python en ligne