Agglomerative Modelle
Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 17 von 51.
Autos füllen zwei Parkplätze, dazwischen verläuft eine Reihe von Autos entlang der Straße. Zwei Möglichkeiten, sie zu 2 Clustern zusammenzufassen:
scikit-learn führt die Zusammenführung durch. Gib mit n_clusters an, wann gestoppt werden soll:
from sklearn.cluster import AgglomerativeClustering
model = AgglomerativeClustering(n_clusters=2, linkage="ward")
labels = model.fit_predict(X)linkage legt fest, wie weit zwei Gruppen voneinander entfernt sind:
"ward", die Standardeinstellung: hält Gruppen kompakt"complete": ihr am weitesten voneinander entferntes Paar"average": der Durchschnitt aller Paare"single": ihr nächstes Paar
Single folgt Ketten: Hier verschluckt die Straße beide Parkplätze. Ward bildet runde, gleichmäßige Gruppen.
Aufgabe
MittelWalderdbeeren wachsen in drei Flecken sowie einige entlang eines Weges. Welche Verknüpfungsmethode findet die Flecken? plants enthält ihre Positionen.
- Fasse die Pflanzen für jede Verknüpfungsmethode in
linkagesin 3 Gruppen zusammen. - Gib die Gruppengrößen als Liste aus, beginnend mit der größten.
- Wenn die größte Gruppe mehr als die Hälfte der Pflanzen enthält, füge
chainedhinzu.
Für eine andere Wiese:
ward: [40, 38, 31]
complete: [41, 37, 31]
average: [41, 37, 31]
single: [86, 22, 1] chainedProbier es selbst
import numpy as np
import pandas as pd
from sklearn.cluster import AgglomerativeClustering
# Standorte von 109 Walderdbeerpflanzen auf einer Wiese (in Metern): drei Gruppen und ein Pfad
rng = np.random.default_rng(4)
plants = np.round(np.concatenate([
rng.normal([2, 3], 0.8, size=(40, 2)),
rng.normal([9, 4], 1.0, size=(35, 2)),
rng.normal([6, 10], 0.9, size=(25, 2)),
np.column_stack([np.linspace(3, 8, 9), np.linspace(3.2, 4, 9)]) + rng.normal(0, 0.15, size=(9, 2)),
]), 2)
linkages = ["ward", "complete", "average", "single"]
# 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: LieferzonenÜbe selbstständig: Online-Python-Compiler