Ammassi stellari
Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 50 di 51.
Un club di astronomia ha fotografato una porzione di cielo. Alcune delle sue 225 stelle appartengono allo stesso gruppo, nate nella stessa nube; le altre sono estranee, davanti o dietro:
Entrambe le posizioni sono in minuti d’arco, un’unità di misura, quindi eps è una distanza nella foto.
Il club vuole conoscere ogni cluster e le sue dimensioni, lasciando fuori le stelle solitarie del campo. K-means funzionerebbe altrettanto bene?
Sfida
DifficileIl programma legge eps; il codice iniziale prepara due mappe, left e right.
- Esegui DBSCAN con quel valore di eps e
min_samples=5sulle due posizioni. Stampa i cluster e le stelle di campo (etichetta -1). - Adatta k-means con altrettanti cluster (
n_init=10,random_state=0). Stampa il cluster più grande e quello più piccolo di ciascun metodo. - Su
left, rappresenta i cluster DBSCAN, concluster 1come il più grande, poi lefield starsin grigio. Suright, rappresenta i cluster k-means, numerati allo stesso modo. Mostra le legende.
Per un'altra 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 le relative mappe:
Quindi Coddy descrive il tuo risultato. Di quale metodo ti fideresti per le stelle di campo?
Provalo tu
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN, KMeans
# Una riga per ogni stella nella foto: posizione (minuti d'arco) e luminosità (magnitudine)
field = pd.read_csv("field.csv")
eps = float(input())
# Due mappe affiancate: DBSCAN a sinistra, k-means a destra
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)")
# Scrivi il tuo codice qui sotto
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Apprendimento non supervisionato
1Trovare gruppi
Apprendimento senza etichetteMisurare la similaritàK-Means a manoK-Means in scikit-learnRiepilogo: iscritti alla palestra4Clustering gerarchico
Unire passo dopo passoModelli agglomerativiDendrogrammiRiepilogo: razze canine7PCA nella pratica
Vedere 64 dimensioniComponenti come schemiComprimere e ricostruirePCA prima di un modelloRiepilogo: scanner facciale10Progetto: Esplorare le cifre
Osserva le cifreRiduci con PCARaggruppa le cifreDai un nome ai gruppiTrova gli elementi insoliti2Scelta di k
InerziaIl metodo del gomitoPunteggi silhouetteScala prima del clusteringRiepilogo: zone di consegna8Rilevamento delle anomalie
Individuare gli elementi anomaliIsolation ForestLocal Outlier FactorPunteggi di anomaliaRiepilogo: monitoraggio del server11Sfide finali
Segmenti di acquistiRilevamento delle frodi con carteAmmassi stellariDue tipi di celleEsercitati da solo: Compilatore Python online