Calculer et tracer la somme des erreurs au carré
Vous allez maintenant calculer la somme des erreurs au carré pour un nombre de clusters allant de 1 à 10.
Vous utiliserez les données RFMT normalisées créées à l’exercice précédent, stockées dans datamart_rfmt_normalized. Le module KMeans de scikit-learn est déjà importé. Nous avons également initialisé un dictionnaire vide pour stocker les sommes des erreurs au carré : sse = {}.
N’hésitez pas à explorer les données dans la console.
Cet exercice fait partie du cours
Customer Segmentation in Python
Instructions
- Initialisez KMeans avec
kclusters etrandom_state=1, puis entraînez KMeans sur l’ensemble normalisé. - Affectez la somme des distances au carré à l’élément
kdu dictionnairesse. - Ajoutez le titre du graphique "The Elbow Method", le label de l’axe des X "k" et le label 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 cet exemple de code.
# 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()