É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'
KMeansappelé «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
dfavec deux colonnes nommées «'labels'» et «'varieties'», en utilisant respectivementlabelsetvarietiespour 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)