Zentren in realen Einheiten
Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 12 von 51.
Das Zentrum eines Clusters ist sein typisches Mitglied. K-means hat die Zentren des Freizeitparks in skalierten Daten ermittelt, daher lassen sie sich als z-Werte ablesen. Dieselben Zentren, davor und danach:
Behalte den Scaler bei: Er merkt sich den Mittelwert und die Streuung jedes Merkmals, und inverse_transform macht die Skalierung rückgängig:
scaler = StandardScaler()
km.fit(scaler.fit_transform(park))
centers = scaler.inverse_transform(km.cluster_centers_)
print(centers.round(1))Dies gibt Stunden, Fahrten und Alter aus, eine Zeile pro Cluster:
[[ 6. 6.2 38.4]
[ 2.4 3. 45.8]
[ 6.8 13.9 20.7]]Der Mittelpunkt von Cluster 2 lag bei 0.8 und 1.3. Jetzt entspricht er 6.8 Stunden und 13.9 Fahrten: demselben Punkt, ausgedrückt in Einheiten, die ein Mensch verwenden kann.
Aufgabe
MittelEin Handschuhmacher teilt Hände in 4 Handschuhgrößen ein. Der Ausgangscode skaliert 150 Hände, gruppiert sie und liest die Hand eines Kunden in new_hand ein.
- Finde den Cluster, dem die neue Hand zugeordnet wird: Skaliere sie zuerst.
- Wandle die Mittelpunkte zurück in cm.
- Gib den Mittelpunkt dieses Clusters mit 1 Dezimalstelle wie unten aus.
Für einen anderen Handschuhmacher:
Your glove size: hand 20.3 cm, palm 8.9 cm, finger 8.6 cmProbier es selbst
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# 150 Hände, die ein Handschuhmacher vermessen hat, in cm: Handlänge, Handflächenbreite, Mittelfingerlänge
hands = pd.read_csv("hands.csv")
scaler = StandardScaler()
scaled = scaler.fit_transform(hands)
# Ein Cluster pro Handschuhgröße
km = KMeans(n_clusters=4, n_init=10, random_state=0)
km.fit(scaled)
# Die Hand eines neuen Kunden als einzeilige Tabelle mit denselben Spalten
new_hand = pd.DataFrame({
"hand_cm": [float(input())],
"palm_cm": [float(input())],
"finger_cm": [float(input())],
})
# Schreibe deinen Code unten
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
1Gruppen finden
Lernen ohne LabelsÄhnlichkeit messenK-Means von HandK-Means mit scikit-learnRückblick: Fitnessstudiomitglieder4Hierarchisches Clustering
Schrittweises ZusammenführenAgglomerative ModelleDendrogrammeZusammenfassung: Hunderassen7PCA in der Praxis
64 Dimensionen sehenKomponenten als MusterKomprimieren und rekonstruierenPCA vor einem ModellRückblick: Gesichtsscanner10Projekt: Ziffern erkunden
Die Ziffern ansehenMit PCA verkleinernDie Ziffern gruppierenDie Gruppen benennenDie Ausreißer finden2k wählen
TrägheitDie Elbow-MethodeSilhouettenwerteVor dem Clustering skalierenRückblick: Lieferzonen3Cluster interpretieren
Cluster analysierenZentren in realen EinheitenCluster vs. bekannte LabelsWann K-Means scheitertRückblick: Tee verkostenÜbe selbstständig: Online-Python-Compiler