Neural-network classification of astronomical objects from the Sloan Digital Sky Survey (SDSS).
This project was developed for the Artificial Intelligence (LFIS419) course at Universidad de Valparaíso.
Authors: Pía Barría Herrera and Christopher Zanetta
The objective is to classify SDSS sources into three spectroscopic classes:
GALAXYQSOSTAR
The original catalog contains 100,000 objects. After removing one non-physical photometric measurement, 99,999 sources were used for the analysis.
The input features include the SDSS magnitudes
[ u,\ g,\ r,\ i,\ z, ]
the colors
[ u-g,\quad g-r,\quad r-i,\quad i-z, ]
and the source redshift.
The workflow includes:
- data cleaning;
- feature construction;
- stratified train-validation-test splitting;
- feature standardization using only the training set;
- comparison of multiple fully connected neural-network architectures;
- model selection using macro F1 on the validation set;
- final evaluation on the test set;
- confusion-matrix analysis;
- permutation feature importance.
The final split was:
| Dataset | Objects |
|---|---|
| Training | 69,999 |
| Validation | 15,000 |
| Test | 15,000 |
The selected model was implemented in PyTorch and uses two hidden layers:
[ 10 \rightarrow 128 \rightarrow 64 \rightarrow 3. ]
The model uses:
- ReLU activations;
- dropout = 0.20;
- weight decay = (10^{-4});
- cross-entropy loss;
- AdamW optimization;
- early stopping based on validation loss.
The final model achieved:
| Metric | Test |
|---|---|
| Accuracy | 0.9731 |
| Macro precision | 0.9724 |
| Macro recall | 0.9661 |
| Macro F1 | 0.9689 |
The main classification difficulty occurs between quasars and galaxies. Stars are separated almost completely in this dataset.
Permutation importance shows that redshift is the dominant input feature.
Redshift provides strong spectroscopic information and contributes significantly to the classification performance.
Therefore, this model should not be interpreted as a purely photometric classifier. A natural extension would be to repeat the analysis using only photometric magnitudes and colors and compare the resulting performance.
sdss-object-classification/
├── README.md
├── notebooks/
│ └── sdss_stellar_classification.ipynb
└── report/
└── sdss_object_classification_report.pdf