Menu
CoddyTech

Cluster analysieren

Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 11 von 51.

In diesem Kapitel werden aus Clusternummern Gruppen, mit denen Menschen etwas anfangen können. Am Ende hat jeder Cluster einen Namen:

120 Freizeitparkbesucher als Punkte, Stunden im Park auf der horizontalen und besuchte Fahrgeschäfte auf der vertikalen Achse, in drei Gruppen, die in der Legende benannt sind: Nervenkitzelsuchende weit oben rechts, Familien in der Mitte, Kurzbesucher weit unten links

Eine Zahl wie 2 sagt nichts aus. Das Profil schon: der Mittelwert jedes Merkmals innerhalb des Clusters. Füge die Labels als Spalte hinzu und gruppiere dann:

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

Dies gibt eine Zeile pro Cluster aus:

         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

Lies die Zeilen nun als Wörter. Cluster 2 ist jung, bleibt 7 Stunden und unternimmt 14 Fahrten: Adrenalinjunkies. Cluster 1 geht früh: Kurzbesucher.

challenge icon

Aufgabe

Mittel

Eine Karaoke-Bar möchte ihre Gäste kennenlernen. Der Starter teilt sie in 3 Cluster ein; names enthält für jedes einen Namen, von den wenigsten Besuchen pro Monat bis zu den meisten.

  1. Füge die Labels als Spalte cluster zu guests hinzu.
  2. Erstelle ein Profil der Cluster: ihre Mittelwerte und die Anzahl ihrer Gäste, sortiert nach visits_month.
  3. Gib für jedes Cluster eine Zeile mit seinem Namen und den Mittelwerten auf 1 Dezimalstelle aus.

Für eine andere Bar:

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

Probier es selbst

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

# 110 Gäste einer Karaokebar: visits a month, Lieder pro Besuch, Stunden pro Besuch
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)

# Namen für die Gruppen, von den wenigsten bis zu den meisten Besuchen pro Monat
names = ["Once in a while", "Regulars", "Superfans"]

# Schreibe deinen Code unten
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Unüberwachtes Lernen

Übe selbstständig: Online-Python-Compiler