Wybór eps
Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 22 z 51.
eps to przypuszczenie, dopóki tego nie sprawdzisz. W przypadku parku z lekcji Noise Points zmierz odległość każdego punktu od jego 4. najbliższego sąsiada, wliczając sam punkt, tak jak w min_samples=4. Posortuj i narysuj wykres:
Punkty z tłumu leżą nisko i płasko; pojedyncze punkty gwałtownie idą w górę. Kolano, w którym krzywa zaczyna piąć się w górę, wyznacza dobrą wartość 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 podaje odległości każdego punktu od 4 najbliższych sąsiadów, od najbliższego, więc kolumna -1 zawiera odległość do 4. sąsiada. np.sort porządkuje je.
Wyzwanie
ŚredniSejsmolodzy chcą, aby DBSCAN znalazł linie uskoków pod obszarem, na którym występowały trzęsienia ziemi przez rok, przy min_samples=5. Wybierz wartość eps.
- Dopasuj
NearestNeighbors(n_neighbors=5)doXi uzyskaj odległości każdego trzęsienia ziemi. - Narysuj posortowane odległości do 5. najbliższego sąsiada.
- Uruchom kod i odczytaj położenie kolana. Zapisz tę wartość w
eps, narysuj ją jako przerywaną szarą linię za pomocąax.axhlinei wyświetl wykres.
Dla innego regionu kolano znajdowało się w pobliżu 4 km:
Coddy opisze Twój wykres, a następnie uruchomi DBSCAN z podaną przez Ciebie wartością eps.
Spróbuj swoich sił
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.neighbors import NearestNeighbors
# Rok trzęsień ziemi w jednym regionie: położenie każdego epicentrum w 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)")
# Napisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Uczenie nienadzorowane
1Znajdowanie grup
Uczenie się bez etykietMierzenie podobieństwaK-Means krok po krokuK-Means w scikit-learnPodsumowanie: członkowie siłowni4Klasteryzacja hierarchiczna
Łączenie krok po krokuModele aglomeracyjneDendrogramyPodsumowanie: rasy psów7PCA w praktyce
Poznajemy 64 wymiarySkładowe jako wzorceKompresuj i odtwórzPCA przed modelemPodsumowanie: skaner twarzy10Projekt: Odkrywca cyfr
Przyjrzyj się cyfromZmniejsz wymiar za pomocą PCAGrupuj cyfryNazwij grupyZnajdź te nietypowe2Wybór k
InercjaMetoda łokciaWyniki silhouetteSkalowanie przed klasteryzacjąPodsumowanie: strefy dostawPoćwicz samodzielnie: Kompilator Python online