Bepaal het optimale aantal clusters
Hier gebruik je de elbow-methode om het optimale aantal clusters te bepalen, waarbij de verdere daling van de gekwadrateerde som van fouten marginaal wordt. Dit is een belangrijke stap om een wiskundige schatting te krijgen van het aantal clusters om mee te starten. Je doorloopt meerdere k-waarden voor het aantal clusters en voert voor elk een KMeans-algoritme uit. Daarna plot je de fouten tegen elke k om de "knik" te vinden waar de daling in fouten vertraagt.
De KMeans-module is geladen uit sklearn.cluster, de seaborn-bibliotheek is geladen als sns, en de module matplotlib.pyplot is geladen als plt. Ook is de geschaalde gegevensset geladen als wholesale_scaled_df als een pandas DataFrame.
Deze oefening maakt deel uit van de cursus
Machine Learning voor marketing in Python
Oefeninstructies
- Maak een leeg
sse-woordenboek (dictionary). - Pas een
KMeans-algoritme toe op k-waarden tussen 1 en 11 en sla de fouten op in hetsse-woordenboek. - Voeg de titel toe aan de plot.
- Maak een scatterplot met de keys op de X-as en de values op de Y-as en toon de grafiek.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.___()