Aglomerados de estrelas
Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 50 de 51.
Um clube de astronomia fotografou uma região do céu. Algumas de suas 225 estrelas pertencem ao mesmo grupo, tendo nascido na mesma nuvem; as demais são desconhecidas, à frente ou atrás:
Ambas as posições estão em minutos de arco, uma unidade, então eps é uma distância na foto.
O clube quer cada cluster e seu tamanho, deixando de fora as estrelas que estão sozinhas no campo. Será que o k-means também funcionaria?
Desafio
DifícilO programa lê eps; o código inicial configura dois mapas, left e right.
- Execute o DBSCAN com esse eps e
min_samples=5nas duas posições. Imprima seus clusters e as estrelas de campo (rótulo -1). - Ajuste o k-means com a mesma quantidade de clusters (
n_init=10,random_state=0). Imprima o maior e o menor cluster de cada método. - Em
left, represente os clusters do DBSCAN, comcluster 1sendo o maior, e depois asfield starsem cinza. Emright, represente os clusters do k-means, numerados da mesma forma. Mostre as legendas.
Para outra foto e 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-meanse seus mapas:
Então o Coddy descreve o seu. Em qual método você confiaria para lidar com as estrelas de campo?
Experimente você mesmo
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN, KMeans
# Uma linha por estrela na foto: posição (minutos de arco) e brilho (magnitude)
field = pd.read_csv("field.csv")
eps = float(input())
# Dois mapas lado a lado: DBSCAN à esquerda, k-means à direita
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)")
# 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 entrega8Detecção de Anomalias
Encontrando os DiferentõesIsolation ForestLocal Outlier FactorPontuações de AnomaliaRevisão: Monitoramento do Servidor11Desafios finais
Segmentos de comprasMonitoramento de fraudes em cartõesAglomerados de estrelasDois tipos de célulasPratique por conta própria: Compilador de Python online