Évaluer le clustering des grains
Dans l'exercice précédent, vous avez observé à partir du graphique d'inertie que 3 est un nombre approprié de clusters pour les données sur les céréales. En effet, les échantillons de céréales proviennent d'un mélange de 3 variétés différentes : « Kama », « Rosa » et « Canadian ». Dans cet exercice, regroupez les échantillons de céréales en trois clusters et comparez les clusters aux variétés de céréales à l'aide d'un tableau croisé.
Vous disposez du tableau samples contenant les échantillons de céréales et d'une liste varieties indiquant la variété de céréales pour chaque échantillon. Pandas (pd) et KMeans ont déjà été importés pour vous.
Cet exercice fait partie du cours
Apprentissage non supervisé en Python
Instructions
- Créez un modèle
KMeansappelémodelavec3clusters. - Utilisez la méthode
.fit_predict()demodelpour l'ajuster àsampleset dériver les étiquettes des clusters. L'utilisation de.fit_predict()équivaut à utiliser.fit()suivi de.predict(). - Créez un DataFrame « df » avec deux colonnes nommées « labels » et « varieties », en utilisant respectivement « labels » et « varieties » pour les valeurs des colonnes. Cela a été effectué pour vous.
- Utilisez la fonction
pd.crosstab()surdf['labels']etdf['varieties']pour compter le nombre de fois où chaque variété de céréales coïncide avec chaque étiquette de cluster. Attribuez le résultat àct. - Cliquez sur « Soumettre » pour voir le tableau croisé !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create a KMeans model with 3 clusters: model
model = ____
# Use fit_predict to fit model and obtain cluster labels: labels
labels = ____
# Create a DataFrame with labels and varieties as columns: df
df = pd.DataFrame({'labels': labels, 'varieties': varieties})
# Create crosstab: ct
ct = ____
# Display ct
print(ct)