Som van kwadratische fouten berekenen en plotten
Nu ga je de som van kwadratische fouten berekenen voor verschillende aantallen clusters van 1 tot en met 10.
Je gebruikt de genormaliseerde RFMT-gegevens die je in de vorige oefening hebt gemaakt; deze zijn opgeslagen als datamart_rfmt_normalized. De KMeans-module uit scikit-learn is ook geïmporteerd. Verder hebben we een lege dictionary geïnitialiseerd om de som van kwadratische fouten op te slaan als sse = {}.
Voel je vrij om de data in de console te verkennen.
Deze oefening maakt deel uit van de cursus
Klantsegmentatie in Python
Oefeninstructies
- Initialiseer KMeans met
kclusters en random_state 1 en fit KMeans op de genormaliseerde gegevensset. - Ken de som van de kwadratische afstanden toe aan het
k-element van desse-dictionary. - Voeg de plottitel "The Elbow Method", X-aslabel "k" en Y-aslabel "SSE" toe.
- Plot de SSE-waarden voor elke
kdie als keys in de dictionary zijn opgeslagen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()