Amas d’étoiles
Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 50 sur 51.
Un club d’astronomie a photographié une partie du ciel. Certaines de ses 225 étoiles sont liées, nées dans le même nuage ; les autres sont des inconnues, devant ou derrière :
Les deux positions sont en minutes d’arc, une unité, donc eps est une distance sur la photo.
Le club veut connaître chaque cluster et sa taille, en laissant de côté les étoiles isolées du champ. Est-ce que k-means ferait aussi bien ?
Défi
DifficileLe programme lit eps ; le code de départ configure deux cartes, left et right.
- Lance DBSCAN avec cet eps et
min_samples=5sur les deux positions. Affiche ses amas et les étoiles du champ (étiquette -1). - Ajuste k-means avec autant d’amas (
n_init=10,random_state=0). Affiche l’amas le plus grand et le plus petit de chaque méthode. - Sur
left, représente les amas de DBSCAN,cluster 1étant le plus grand, puis lesfield starsen gris. Surright, représente les amas de k-means, numérotés de la même façon. Affiche les légendes.
Pour une autre photo et 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-meanset ses cartes :
Ensuite, Coddy décrit le tien. À quelle méthode ferais-tu confiance pour traiter les étoiles du champ ?
Essayez vous-même
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN, KMeans
# Une ligne par étoile sur la photo : position (minutes d’arc) et luminosité (magnitude)
field = pd.read_csv("field.csv")
eps = float(input())
# Deux cartes côte à côte : DBSCAN à gauche, k-means à droite
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)")
# É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 livraison8Détection des anomalies
Repérer les éléments atypiquesForêt d’isolationFacteur local d’anomalieScores d’anomalieRécapitulatif : surveillance des serveurs11Défis finaux
Segments de coursesSurveillance des fraudes bancairesAmas d’étoilesDeux types de cellulesEntraînez-vous par vous-même : Compilateur Python en ligne