Choisir eps
Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 22 sur 51.
eps est une estimation jusqu'à ce que tu observes les données. Pour le parc de Noise Points, mesure la distance de chaque point à son 4e plus proche voisin, en le comptant lui-même, comme avec min_samples=4. Trie et trace le graphique :
Les points regroupés restent bas et à plat ; les points isolés montent en flèche. Le coude, là où la courbe remonte, est une bonne valeur de 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 donne à chaque point les distances à ses 4 voisins les plus proches, dans l’ordre du plus proche au plus éloigné, donc la colonne -1 est la 4e. np.sort les classe.
Défi
MoyenLes sismologues veulent que DBSCAN repère les lignes de faille sous-jacentes à une année de séismes, avec min_samples=5. Choisis son eps.
- Ajuste
NearestNeighbors(n_neighbors=5)surXet récupère les distances de chaque séisme. - Trace les distances au 5e plus proche voisin, triées.
- Exécute le code et repère le coude. Conserve cette valeur dans
eps, trace-la sous forme de ligne grise en pointillés avecax.axhline, puis affiche le graphique.
Pour une autre région, le coude se situait près de 4 km :
Coddy décrit ton graphique, puis exécute DBSCAN avec ton eps.
Essayez vous-même
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.neighbors import NearestNeighbors
# Une année de séismes dans une région : chaque épicentre en 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)")
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Apprentissage non supervisé
1Découvrir des groupes
Apprendre sans étiquettesMesurer la similaritéK-Means à la mainK-Means avec scikit-learnRécapitulatif : les membres de la salle de sport4Classification hiérarchique
Fusion étape par étapeModèles agglomératifsDendrogrammesRécapitulatif : races de chiens7L’ACP en pratique
Visualiser 64 dimensionsLes composantes comme motifsCompresser et reconstruireL’ACP avant un modèleRécapitulatif : scanner de visages10Projet : Explorateur de chiffres
Observer les chiffresRéduire avec la PCARegrouper les chiffresNommer les groupesRepérer les intrus2Choisir k
InertieLa méthode du coudeScores de silhouetteMettre à l’échelle avant le clusteringRécapitulatif : zones de livraisonEntraînez-vous par vous-même : Compilateur Python en ligne