Beräkna och plotta summan av kvadratfel
Nu ska du beräkna summan av kvadratfel för olika antal kluster, från 1 till 10.
Du använder den normaliserade RFMT-datan som du skapade i föregående övning – den är lagrad som datamart_rfmt_normalized. Modulen KMeans från scikit-learn är redan importerad. Vi har också initierat en tom ordbok för att lagra summan av kvadratfel: sse = {}.
Utforska gärna datan i konsolen.
Den här övningen är en del av kursen
Kundsegmentering i Python
Övningsinstruktioner
- Initiera KMeans med
kkluster och slumptillståndet 1, och anpassa KMeans på den normaliserade datamängden. - Tilldela summan av kvadratavstånden till elementet
ki ordbokensse. - Lägg till plottiteln "The Elbow Method", etiketten "k" på x-axeln och etiketten "SSE" på y-axeln.
- Plotta SSE-värdena för varje
ksom är lagrade som nycklar i ordboken.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()