Escolhendo eps
Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 22 de 51.
eps é uma estimativa até você observar os dados. Para o parque de Noise Points, meça a distância de cada ponto até seu 4º vizinho mais próximo, contando o próprio ponto, como em min_samples=4. Ordene e faça o gráfico:
Os pontos agrupados ficam baixos e planos; os pontos isolados disparam para cima. O cotovelo, onde a curva começa a subir, é um bom valor 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 fornece as distâncias de cada ponto aos seus 4 vizinhos mais próximos, em ordem crescente, então a coluna -1 é a 4ª. np.sort os ordena.
Desafio
MédioOs sismólogos querem que o DBSCAN encontre as linhas de falha em um ano de terremotos, com min_samples=5. Escolha seu eps.
- Ajuste
NearestNeighbors(n_neighbors=5)emXe obtenha as distâncias de cada terremoto. - Plote as distâncias até o 5º vizinho mais próximo, em ordem crescente.
- Execute e identifique o cotovelo. Mantenha esse valor em
eps, desenhe-o como uma linha cinza tracejada comax.axhlinee exiba o gráfico.
Para outra região, o cotovelo ficou perto de 4 km:
O Coddy descreve seu gráfico e, em seguida, executa o DBSCAN com seu eps.
Experimente você mesmo
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.neighbors import NearestNeighbors
# Um ano de terremotos em uma região: cada epicentro em 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)")
# Escreva seu código abaixo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Aprendizado não supervisionado
1Encontrando Grupos
Aprendendo sem RótulosMedindo a SimilaridadeK-Means à MãoK-Means no scikit-learnRevisão: Frequentadores da Academia4Clustering Hierárquico
Mesclando passo a passoModelos aglomerativosDendrogramasRevisão: raças de cães7PCA na prática
Visualizando 64 dimensõesComponentes como padrõesComprimir e reconstruirPCA antes de um modeloRecapitulação: scanner facial10Projeto: Explorando os Dígitos
Observe os DígitosReduza com PCAAgrupe os DígitosDê Nome aos GruposEncontre os Diferentes2Escolhendo k
InérciaO método do cotoveloPontuações de silhuetaEscale antes de agruparRecapitulando: zonas de entregaPratique por conta própria: Compilador de Python online