Évaluation de l'agrégation des grains
Dans l'exercice précédent, vous avez observé à partir du graphique d'inertie que 3 est un bon nombre de clusters pour les données grain. En réalité, les échantillons de céréales proviennent d'un mélange de trois variétés différentes : « Kama », « Rosa » et « Canadian ». Dans cet exercice, regroupez les échantillons de céréales en trois groupes et comparez ces groupes aux variétés de céréales à l'aide d'un tableau croisé.
Vous disposez du tableau samples
contenant des échantillons de grains, ainsi que d'une liste varieties
indiquant la variété de grain pour chaque échantillon. Les 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 d'
KMeans
appelé «model
» avec des clusters «3
». - Utilisez la méthode «
.fit_predict()
» de «model
» pour l'ajuster à «samples
» et dériver les étiquettes des clusters. L'utilisation de.fit_predict()
est identique à l'utilisation de.fit()
suivie de.predict()
. - Créez un DataFrame
df
avec deux colonnes nommées «'labels'
» et «'varieties'
», en utilisant respectivementlabels
etvarieties
pour les valeurs des colonnes. Cela a été fait pour vous. - Veuillez utiliser la fonction «
pd.crosstab()
» (compter les occurrences) surdf['labels']
etdf['varieties']
pour compter le nombre de fois où chaque variété de grain coïncide avec chaque étiquette de groupe. Affectez le résultat àct
. - Veuillez cliquer sur « Soumettre » pour afficher 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)