Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz pusty słownik sse.
  • Dopasuj algorytm KMeans dla wartości k od 1 do 11 i zapisz błędy w słowniku sse.
  • 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.___()
Edytuj i uruchom kod