Wyznaczanie optymalnej liczby klastrów
W tym ćwiczeniu zastosujesz metodę kryterium łokcia, aby wyznaczyć optymalną liczbę klastrów – taką, przy której zmniejszenie sumy kwadratów błędów staje się marginalne. To ważny krok, który pozwala matematycznie oszacować punkt wyjścia do dalszych testów. Będziesz iterować po różnych wartościach k i uruchamiać algorytm KMeans dla każdej z nich, a następnie nanieść błędy na wykres względem wartości k, aby zidentyfikować „łokieć" – miejsce, w którym spadek błędów wyraźnie zwalnia.
Moduł KMeans jest wczytany z sklearn.cluster, biblioteka seaborn jako sns, a moduł matplotlib.pyplot jako plt. Przeskalowany zbiór danych jest dostępny jako wholesale_scaled_df w postaci ramki danych pandas.
To ćwiczenie jest częścią kursu
Uczenie maszynowe w marketingu w Pythonie
Instrukcje do ćwiczenia
- Utwórz pusty słownik
sse. - Dopasuj algorytm
KMeansdla wartości k od 1 do 11 i zapisz błędy w słownikusse. - Dodaj tytuł do wykresu.
- Utwórz wykres punktowy z kluczami na osi X i wartościami na osi Y, a następnie wyświetl wykres.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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.___()