Releases: PhD-Brown/AstroSpectro
AstroSpectro v1.0.0 - High-Performance Classification
Description:
We are incredibly proud to announce the release of AstroSpectro v1.0.0, the first stable and feature-complete version of our spectral classification pipeline. This release marks the culmination of an intensive development cycle focused on robustness, model performance, and the creation of a professional-grade suite of analysis tools.
The project has achieved its primary goal: to provide an end-to-end system capable of classifying stellar types from raw LAMOST DR5 spectra with an accuracy exceeding 80%.
✨ v1.0.0 Highlights
🚀 Model Performance
- 84% Accuracy: The pipeline, powered by an optimized XGBoost model, achieves 84% accuracy on a validated test set.
- Rigorous Validation: Performance is confirmed through stratified cross-validation (
GridSearchCV), ensuring the model's robustness and ability to generalize. - Advanced Feature Engineering: The model's success is built upon a rich set of over 20 features, combining:
- Physical Measurements: Strength (
prominence) and width (FWHM) of key spectral lines. - Spectral Ratios: Temperature-sensitive indicators based on the ratios of line strengths.
- Contextual Metadata: Integration of redshift, SNR, and seeing as predictive features.
- Physical Measurements: Strength (
🛠️ Architecture & Pipeline
- Multi-Model Pipeline: The
SpectralClassifierclass has been refactored to support bothRandomForestandXGBoost, enabling easy benchmarking. - Comprehensive
scikit-learnPipeline: The training process now includes automated steps for imputation (handlingNaNvalues), feature scaling, and oversampling (SMOTE) to manage class imbalance. - Modular Orchestration: The project is entirely driven by modular classes (
MasterPipeline,SpectraManager,AstroVisualizer), turning the00_master_pipeline.ipynband02_tools_and_visuals.ipynbnotebooks into clean, high-level dashboards.
📊 Visualization & Analysis Tools
- Augmented Spectrum Analyzer: A full-featured interactive tool in the
02_tools_and_visualsnotebook allows users to:- Visualize any spectrum.
- Tune peak detection parameters in real-time.
- Get a live spectral class prediction using any saved
.pklmodel. - Review a quantitative analysis of spectral lines (FWHM, etc.).
- Complete Visualization Suite: Tools to explore FITS headers, analyze feature quality, inspect trained models, and visualize sky coverage are now available.
📚 Complete Documentation
- All sections of the Online Documentation have been updated to reflect the final state of the project, including a detailed results page and a complete API Reference.
Next Steps
This v1.0.0 release provides a solid foundation. Future development will focus on the goals outlined in our Roadmap, notably the exploration of Deep Learning models (1D CNNs) and the extension of the pipeline to other spectroscopic surveys.
A huge thank you to the open-source community whose tools made this project possible.
Description :
Nous sommes extrêmement fiers d'annoncer la version 1.0.0 d'AstroSpectro, la première version stable et complète de notre pipeline de classification spectrale. Cette version marque l'aboutissement d'un cycle de développement intensif axé sur la robustesse, la performance du modèle et la création d'une suite d'outils d'analyse de qualité professionnelle.
Le projet a atteint son objectif principal : fournir un système de bout en bout capable de classer des types stellaires à partir de spectres bruts LAMOST DR5 avec une précision supérieure à 80%.
✨ Points Forts de la Version v1.0.0
🚀 Performance du Modèle
- Précision de 84% : Le pipeline, utilisant un modèle XGBoost optimisé, atteint une précision de 84% sur un jeu de test validé.
- Validation Rigoureuse : La performance est confirmée par une validation croisée stratifiée (
GridSearchCV), garantissant la robustesse et la capacité de généralisation du modèle. - Feature Engineering Avancé : Le succès du modèle repose sur un jeu de plus de 20 features combinant :
- Mesures Physiques : Force (
prominence) et largeur (FWHM) des raies spectrales clés. - Ratios Spectraux : Indicateurs de température basés sur les ratios de force des raies.
- Métadonnées Contextuelles : Intégration du redshift, du SNR et du seeing comme features prédictives.
- Mesures Physiques : Force (
🛠️ Architecture et Pipeline
- Pipeline Multi-Modèle : La classe
SpectralClassifiera été refactorisée pour supporter à la foisRandomForestetXGBoost, permettant un benchmarking facile. - Pipeline
scikit-learnComplet : Le processus d'entraînement inclut désormais des étapes automatisées d'imputation (gestion desNaN), de scaling des features, et de sur-échantillonnage (SMOTE) pour gérer le déséquilibre des classes. - Orchestration Modulaire : Le projet est entièrement piloté par des classes modulaires (
MasterPipeline,SpectraManager,AstroVisualizer), rendant les notebooks00_master_pipeline.ipynbet02_tools_and_visuals.ipynbdes tableaux de bord propres et de haut niveau.
📊 Outils de Visualisation et d'Analyse
- Analyseur de Spectre Augmenté : Un outil interactif complet dans le notebook
02_tools_and_visualspermet de :- Visualiser n'importe quel spectre.
- Tuner les paramètres de détection de pics en temps réel.
- Obtenir une prédiction de classe spectrale en direct en utilisant n'importe quel modèle
.pklsauvegardé. - Consulter une analyse quantitative des raies (FWHM, etc.).
- Suite de Visualisation Complète : Des outils pour explorer les headers FITS, analyser la qualité des features, inspecter les modèles entraînés, et visualiser la couverture céleste sont désormais disponibles.
📚 Documentation Complète
- Toutes les sections de la Documentation en Ligne ont été mises à jour pour refléter l'état final du projet, incluant une page de résultats détaillée et une API Reference complète.
Prochaines Étapes
Cette version 1.0.0 constitue une fondation solide. Le développement futur se concentrera sur les axes définis dans notre Roadmap, notamment l'exploration de modèles de Deep Learning (CNN 1D) et l'extension du pipeline à d'autres relevés spectroscopiques.
Un immense merci à la communauté open source dont les outils ont rendu ce projet possible.
Documentation Complete — v0.1.0-docs
All sections of the AstroSpectro documentation are now complete and available online!
The API reference, user guides, scientific context, project roadmap, and community pages are live.
Highlights:
API Reference: detailed docs for all modules and classes (preprocessor.py, feature_engineering.py, classifier.py)
User guides: step-by-step tutorials (data download, preprocessing, feature extraction, model training, visualization)
Scientific context: project methodology, results, and data sources (LAMOST DR5)
Clear project roadmap and community/contribution guides
FAQ, acknowledgments, citation instructions, and more!
See the documentation site or browse the docs/. folder.
Toutes les sections de la documentation AstroSpectro sont maintenant disponibles en ligne !
La référence API, les guides d’utilisation, le contexte scientifique, la feuille de route et les pages communauté sont en ligne.
À retenir :
-
Référence API : documentation détaillée de tous les modules et classes (preprocessor.py, feature_engineering.py, classifier.py)
-
Guides pratiques : tutoriels pas à pas (téléchargement des données, prétraitement, extraction des features, entraînement des modèles, visualisation)
-
Contexte scientifique : méthodologie, résultats et sources de données (LAMOST DR5)
-
Feuille de route claire et pages communauté/contributions
-
FAQ, remerciements, instructions de citation, et plus !
Consulte la documentation en ligne ou le dossier docs/.
🚀 Astro-Spectro Classification — First Public Release
Highlights:
- Modular, reproducible pipeline for automated stellar spectral classification from raw LAMOST DR5 spectra
- Robust data handling (download, preprocessing, feature extraction, ML-ready datasets)
- Flexible classification models (Random Forest, SVM, …)
- Complete project structure with detailed README, roadmap, and quickstart guide
- Early documentation and examples included
What's New
- Full end-to-end pipeline implemented (from raw spectra to ML predictions)
- Automated data download & catalog generation (LAMOST DR5)
- Modular Python scripts for preprocessing, feature engineering, and classification
- Step-by-step Jupyter notebooks for demonstration and exploration
- Integrated logging, reporting, and reproducible results
- Roadmap and documentation structure established
- Project licensed under MIT
Getting Started
See the README for full installation and usage instructions, or try out the main notebook :
Documentation
Project documentation is in progress and will be available soon via GitHub Pages and Docusaurus.
Known Issues / Next Steps
- Ongoing development — see ROADMAP for planned features
- Enhanced model support and reporting coming soon
- Contributions and feedback welcome!
Acknowledgments
Based on data from [LAMOST DR5](http://www.lamost.org/public/). Thanks to the Astropy, Scikit-learn, and open-source scientific community.
How to Cite / Contact
If you use this code for research, please cite this repository.
Contact: [alex.baker.1@ulaval.ca]
Faits saillants :
- Pipeline modulaire et reproductible pour la classification automatique de spectres stellaires LAMOST DR5
- Téléchargement, prétraitement et extraction de features robustes, prêts pour l’IA
- Premiers modèles de classification (Random Forest, SVM…)
- Structure de projet complète : README détaillé, roadmap, quickstart, exemples
- Documentation de démarrage incluse
Quoi de neuf ?
- Pipeline de bout en bout : des fichiers FITS bruts aux prédictions ML
- Téléchargement automatisé & génération de catalogues LAMOST DR5
- Scripts Python modulaires : prétraitement, extraction de features, classification
- Notebooks Jupyter pas à pas pour explorer chaque étape
- Logging, rapports, et reproductibilité intégrés
- Roadmap et base documentaire démarrées
- Licence open source MIT
Pour démarrer
Consulte le README pour les instructions complètes, ou teste directement le notebook principal :
Documentation
La documentation sera progressivement enrichie sur GitHub Pages et Docusaurus (en préparation).
À venir / limitations
Développement actif — voir ROADMAP pour les features prévues
Amélioration du support multi-modèles & reporting
Suggestions, feedback et contributions bienvenus !
Remerciements
Basé sur les données publiques LAMOST DR5. Merci à la communauté Astropy, Scikit-learn, et open source.
Contact & citation
Merci de citer ce dépôt si tu utilises ce code pour la recherche.
Contact : [alex.baker.1@ulaval.ca]