Sternhaufen
Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 50 von 51.
Ein Astronomieclub fotografierte einen Himmelsausschnitt. Einige der 225 Sterne gehören zusammen und sind in derselben Wolke entstanden; die übrigen sind Fremde davor oder dahinter:
Beide Positionen sind in Bogenminuten angegeben, also in derselben Einheit, daher ist eps eine Entfernung auf dem Foto.
Der Verein möchte jeden Cluster und seine Größe kennen, wobei die einzelnen Feldstars ausgeschlossen werden. Würde k-Means genauso gut funktionieren?
Aufgabe
SchwerDas Programm liest eps; die Vorlage richtet zwei Karten ein: left und right.
- Führe DBSCAN mit diesem eps und
min_samples=5auf den beiden Positionen aus. Gib seine Cluster und die Feldsterne (Label -1) aus. - Führe k-means mit derselben Anzahl an Clustern aus (
n_init=10,random_state=0). Gib das größte und das kleinste Cluster jeder Methode aus. - Zeige auf
leftdie DBSCAN-Cluster, wobeicluster 1das größte ist, und danach diefield starsin Grau. Zeige aufrightdie k-means-Cluster, in derselben Reihenfolge nummeriert. Zeige die Legenden an.
Für ein anderes Foto und eps 2.5:
DBSCAN: 3 clusters and 29 field stars
Biggest cluster: 63 stars by DBSCAN, 77 by k-means
Smallest cluster: 41 stars by DBSCAN, 48 by k-meansund seine Karten:
Dann beschreibt Coddy deine Ergebnisse. Welcher Methode würdest du die Feldsterne anvertrauen?
Probier es selbst
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN, KMeans
# Eine Zeile pro Stern auf dem Foto: Position (Bogenminuten) und Helligkeit (Magnitude)
field = pd.read_csv("field.csv")
eps = float(input())
# Zwei Karten nebeneinander: DBSCAN links, k-means rechts
fig, axs = plt.subplots(1, 2, figsize=(10, 4))
left = axs[0]
right = axs[1]
left.set_title("DBSCAN")
right.set_title("k-means")
for ax in axs:
ax.set_xlabel("x (arcmin)")
ax.set_ylabel("y (arcmin)")
# 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