Menu
CoddyTech

Charakterystyka klastrów

Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 11 z 51.

Ten rozdział zamienia numery klastrów w grupy, z których można korzystać. Po jego ukończeniu każdy klaster będzie miał nazwę:

120 odwiedzających park rozrywki przedstawionych jako kropki, liczba godzin spędzonych w parku na osi poziomej, a liczba przejażdżek na osi pionowej; trzy grupy nazwane w legendzie: Poszukiwacze mocnych wrażeń wysoko po prawej, Rodziny pośrodku, Krótko odwiedzający nisko po lewej

Liczba taka jak 2 nic nie mówi. Mówi o nim jego profil: średnia każdej cechy w klastrze. Dodaj etykiety jako kolumnę, a następnie pogrupuj:

park["cluster"] = km.labels_
print(park.groupby("cluster").mean().round(1))

To wyświetla jeden wiersz dla każdego klastra:

         hours  rides   age
cluster
0          6.0    6.2  38.4
1          2.4    3.0  45.8
2          6.8   13.9  20.7

Teraz odczytaj wiersze jako słowa. Klaster 2 jest młody, zostaje na 7 godzin i korzysta z 14 przejazdów: poszukiwacze mocnych wrażeń. Klaster 1 wychodzi wcześnie: szybcy goście.

challenge icon

Wyzwanie

Średni

Bar karaoke chce poznać swoich gości. Kod początkowy dzieli ich na 3 klastry; names zawiera nazwę każdego z nich, od tych odwiedzających bar najrzadziej w miesiącu do tych odwiedzających go najczęściej.

  1. Dodaj etykiety do guests jako kolumnę cluster.
  2. Scharakteryzuj klastry: oblicz ich średnie i liczbę gości, a następnie posortuj je według visits_month.
  3. Wypisz jeden wiersz dla każdego klastra, zawierający jego nazwę i średnie zaokrąglone do 1 miejsca po przecinku.

Dla innego baru:

Once in a while: 30 guests, 1.4 visits a month, 2.5 songs, 3.2 hours
Regulars: 45 guests, 3.0 visits a month, 4.6 songs, 2.0 hours
Superfans: 15 guests, 7.4 visits a month, 9.2 songs, 2.8 hours

Spróbuj swoich sił

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans

# 110 gości baru karaoke: visits a month, piosenek na wizytę, godzin na wizytę
guests = pd.read_csv("karaoke.csv")
scaled = StandardScaler().fit_transform(guests)
km = KMeans(n_clusters=3, n_init=10, random_state=0)
km.fit(scaled)

# Nazwy grup, od najmniejszej do największej liczby wizyt w miesiącu
names = ["Once in a while", "Regulars", "Superfans"]

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Uczenie nienadzorowane

Poćwicz samodzielnie: Kompilator Python online