Bestäm det optimala antalet kluster
Här använder du armbågskriteriet för att identifiera det optimala antalet kluster – det vill säga där minskningen i kvadratsumman av felen börjar plana ut. Det här är ett viktigt steg för att få en matematisk utgångspunkt när du ska testa olika klusterantal. Du itererar genom flera k-värden och kör en KMeans-algoritm för vart och ett, och plottar sedan felen mot respektive k för att hitta "armbågen" där minskningen stannar av.
Modulen KMeans är laddad från sklearn.cluster, biblioteket seaborn är laddat som sns och modulen matplotlib.pyplot är laddad som plt. Den skalade datamängden är laddad som wholesale_scaled_df – en pandas DataFrame.
Den här övningen är en del av kursen
Maskininlärning för marknadsföring i Python
Övningsinstruktioner
- Skapa en tom ordbok
sse. - Anpassa en
KMeans-algoritm för k-värden mellan 1 och 11 och spara felen i ordbokensse. - Lägg till en titel i diagrammet.
- Skapa ett punktdiagram med nycklar på x-axeln och värden på y-axeln och visa diagrammet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create empty sse dictionary
sse = {}
# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
kmeans = ___(n_clusters=___, random_state=333)
kmeans.___(wholesale_scaled_df)
sse[k] = kmeans.inertia_
# Add the title to the plot
plt.___('Elbow criterion method chart')
# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()