Calculer et tracer la somme des carrés des erreurs
Vous allez maintenant calculer la somme des carrés des erreurs pour différents nombres de grappes allant de 1 à 10.
Vous utiliserez les données RFMT normalisées que vous avez créées à l'exercice précédent, stockées dans datamart_rfmt_normalized. Le module KMeans de scikit-learn est aussi importé. De plus, nous avons initialisé un dictionnaire vide pour stocker la somme des carrés des erreurs, sse = {}.
N'hésitez pas à explorer les données dans la console.
Cette activité fait partie du cours
Segmentation de la clientèle en Python
Instructions de l’exercice
- Initialisez KMeans avec
kgrappes et l'état aléatoire 1, puis ajustez KMeans sur l'ensemble normalisé. - Attribuez la somme des distances au carré à l'élément
kdu dictionnairesse. - Ajoutez le titre du graphique « The Elbow Method », l'étiquette de l'axe des X « k » et l'étiquette de l'axe des Y « SSE ».
- Tracez les valeurs de SSE pour chaque
kstocké comme clés dans le dictionnaire.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Fit KMeans and calculate SSE for each k between 1 and 10
for k in range(1, 11):
# Initialize KMeans with k clusters and fit it
kmeans = ____(____=____, ____=1 ).____(datamart_rfmt_normalized)
# Assign sum of squared distances to k element of the sse dictionary
____[____] = kmeans.____
# Add the plot title, x and y axis labels
plt.____('The Elbow Method')
plt.____('____')
plt.____('____')
# Plot SSE values for each k stored as keys in the dictionary
sns.____(x=list(sse.____()), y=list(sse.____()))
plt.show()