Aller au contenu principal

Foire Aux Questions (FAQ)

Bienvenue dans la FAQ ! Vous trouverez ici les réponses aux questions les plus fréquemment posées sur le projet AstroSpectro.

Vous ne trouvez pas votre réponse ?

Si votre question n'est pas listée ici, n'hésitez pas à ouvrir une Issue sur GitHub pour la poser à la communauté. Votre question pourrait aider d'autres personnes !


Questions sur les Données

Puis-je utiliser ce pipeline avec d'autres données que LAMOST DR5 ?

Pour l'instant, le pipeline est fortement optimisé pour le format spécifique des fichiers FITS de LAMOST DR5. L'adaptation à d'autres relevés (comme SDSS ou Gaia) nécessiterait de modifier la classe SpectraPreprocessor pour qu'elle puisse interpréter leurs structures de header et de données.

Cependant, l'architecture modulaire est conçue pour faciliter ce genre d'extension. Le support multi-survey est une des ambitions majeures listées dans notre Roadmap.

Quelle est la taille approximative des données à télécharger ?

Le relevé complet de LAMOST DR5 est immense (plusieurs Téraoctets). Heureusement, vous n'avez pas besoin de tout télécharger !

Le pipeline est conçu pour fonctionner par lots. Un lot de quelques milliers de spectres (quelques Gigaoctets) est suffisant pour obtenir des résultats très performants (>80% de précision). L'interface de téléchargement interactive vous permet de fixer des limites précises pour contrôler la quantité de données récupérées.


Questions Techniques

Pourquoi le projet est-il structuré avec des notebooks ET des scripts Python dans src/ ?

C'est un choix d'architecture délibéré pour combiner le meilleur des deux mondes :

  • Les scripts Python dans src/ contiennent la logique métier "pure", organisée en classes modulaires et réutilisables. C'est le "moteur" robuste du projet.
  • Les notebooks Jupyter servent d'interface utilisateur et de "tableau de bord". Ils permettent d'orchestrer la logique des modules de manière interactive, de visualiser les résultats et de documenter les expériences.

Cette séparation est une pratique standard dans les projets de science des données professionnels car elle garantit la clarté, la maintenabilité et la testabilité du code.


Questions sur le Machine Learning

Pourquoi utiliser RandomForest et XGBoost plutôt qu'un modèle de Deep Learning ?

Le choix de modèles basés sur les arbres de décision comme RandomForest et XGBoost est intentionnel et stratégique pour cette phase du projet :

  • Interprétabilité : Ces modèles permettent de mesurer facilement l'importance des features. Cela nous a permis de valider notre approche de feature engineering et de comprendre que des mesures comme la largeur des raies (FWHM) ou le redshift étaient cruciales. C'est essentiel dans un contexte de recherche.
  • Efficacité : Ils sont extrêmement rapides à entraîner sur des données tabulaires (nos vecteurs de features), ce qui permet des cycles d'expérimentation très courts.
  • Performance : Comme nos résultats le montrent (>80% de précision), ils sont déjà très performants lorsque nourris avec des features de haute qualité.

Cela dit, l'exploration de modèles de Deep Learning (comme des CNN 1D) est une étape clé de notre Roadmap. Ils pourraient potentiellement capturer des motifs subtils dans le spectre brut que notre extraction de features manuelle aurait manqués.

Comment gérez-vous le déséquilibre des classes dans le jeu de données ?

C'est un problème fondamental dans les datasets astrophysiques. Notre pipeline intègre une approche à deux niveaux :

  1. Filtrage : Nous retirons les classes qui sont extrêmement rares (moins de 10 exemples), car il est statistiquement impossible d'entraîner un modèle fiable sur aussi peu de données.
  2. Sur-échantillonnage (SMOTE) : Pour les classes minoritaires restantes, nous utilisons la technique SMOTE (via la librairie imbalanced-learn) directement dans notre pipeline d'entraînement. SMOTE crée des échantillons synthétiques plausibles pour ces classes, ce qui donne au modèle une vision plus équilibrée des données et améliore significativement sa performance sur les classes sous-représentées.