Wahl von eps
Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 22 von 51.
eps ist eine Schätzung, bis du nachsiehst. Miss für den Park aus „Noise Points“ die Entfernung jedes Punkts zu seinem 4. nächsten Nachbarn, wobei der Punkt selbst mitgezählt wird, wie bei min_samples=4. Sortiere und stelle die Werte grafisch dar:
Punktwolken liegen niedrig und flach; einzelne Punkte schießen nach oben. Das Knie, an dem die Kurve nach oben abbiegt, ist ein guter Wert für eps:
from sklearn.neighbors import NearestNeighbors
nn = NearestNeighbors(n_neighbors=4).fit(X)
distances, rows = nn.kneighbors(X)
ax.plot(np.sort(distances[:, -1]))kneighbors gibt die Abstände jedes Punkts zu seinen 4 nächsten Nachbarn zurück, beginnend mit dem nächsten. Daher ist Spalte -1 der 4. Nachbar. np.sort ordnet sie.
Aufgabe
MittelSeismologen möchten, dass DBSCAN die Verwerfungslinien unter einem Jahr mit Erdbeben findet, mit min_samples=5. Wähle dafür den Wert für eps.
- Trainiere
NearestNeighbors(n_neighbors=5)mitXund ermittle die Abstände aller Erdbeben. - Zeichne die Abstände zum jeweils fünftnächsten Erdbeben in sortierter Reihenfolge auf.
- Führe den Code aus und lies den Knick ab. Speichere diesen Wert in
eps, zeichne ihn mitax.axhlineals gestrichelte graue Linie ein und zeige den Plot an.
Für eine andere Region lag der Knick bei etwa 4 km:
Coddy beschreibt dein Diagramm und führt dann DBSCAN mit deinem eps-Wert aus.
Probier es selbst
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.neighbors import NearestNeighbors
# Ein Jahr mit Erdbeben in einer Region: jedes Epizentrum in km
quakes = pd.read_csv("quakes.csv")
X = np.column_stack([quakes["east_km"], quakes["north_km"]])
fig, ax = plt.subplots()
ax.set_title("Distance to the 5th Nearest Quake")
ax.set_xlabel("Quakes, sorted")
ax.set_ylabel("Distance (km)")
# 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