BrunoBarreto/sdss_dr12_stars_regression
SDSS DR12 Stellar Spectra Parquet Benchmark This dataset provides a fixed supervised benchmark split for stellar atmospheric parameter estimation from SDSS DR12 optical spectra. It contains three Parquet files: train.parquet validation.parquet test.parquet The split sizes are: Split Number of spectra Train 29,422 Validation 4,846 Test 14,443 Each row corresponds to one SDSS stellar spectrum and includes raw spectral arrays, processed spectral features… See the full description on the dataset page: https://huggingface.co/datasets/BrunoBarreto/sdss_dr12_stars_regression.
SDSS DR12 Stellar Spectra Parquet Benchmark
This dataset provides a fixed supervised benchmark split for stellar atmospheric parameter estimation from SDSS DR12 optical spectra.
It contains three Parquet files:
train.parquet
validation.parquet
test.parquetThe split sizes are:
Each row corresponds to one SDSS stellar spectrum and includes raw spectral arrays, processed spectral features, source identifiers, basic metadata, and catalog stellar-parameter labels with uncertainties.
Files
train.parquet
Training split used for model fitting.
validation.parquet
Validation split used for model selection and hyperparameter tuning.
test.parquet
Held-out test split used only for final evaluation.
Columns
Target Labels
The supervised regression targets are the adopted catalog stellar parameters:
The corresponding uncertainty columns are:
catalog_teff_unc
catalog_feh_unc
catalog_logg_uncThese are taken from the catalog uncertainty fields:
TEFF_ADOP_UNC
FEH_ADOP_UNC
LOGG_ADOP_UNCLoading the Dataset
from datasets import load_dataset
dataset = load_dataset("BrunoBarreto/sdss_dr12_stars_regression")
train = dataset["train"]
validation = dataset["validation"]
test = dataset["test"]
print(train[0].keys())Example: Training on Processed Flux
import numpy as np
from sklearn.linear_model import RidgeCV
from sklearn.metrics import mean_absolute_error
X_train = np.stack(train["processed_flux"]).astype("float32")
X_test = np.stack(test["processed_flux"]).astype("float32")
y_train = np.array(
[
train["catalog_teff"],
train["catalog_feh"],
train["catalog_logg"],
],
dtype="float32",
).T
y_test = np.array(
[
test["catalog_teff"],
test["catalog_feh"],
test["catalog_logg"],
],
dtype="float32",
).T
alphas = np.logspace(-3, 3, 13)
print("Ridge ...")
model = RidgeCV(alphas=alphas)
model.fit(X_train, y_train)
pred = model.predict(X_test)
mae = mean_absolute_error(y_test, pred, multioutput="raw_values")
print(f"MAE Teff: {mae[0]:.2f} K")
print(f"MAE [Fe/H]: {mae[1]:.3f} dex")
print(f"MAE logg: {mae[2]:.3f} dex")The raw arrays can be used to build custom preprocessing pipelines or to feed models that require native observed-frame spectra.
Paper: arxiv.org/abs/2606.13868
How to cite this dataset
If you use this dataset in your research, please cite it as:
@misc{Barreto2026_SDSSDR12StarsRegression,
author = {Barreto, Bruno Santos Meneses and Eisencraft, Marcio},
title = {{SDSS DR12 Stellar Spectra}},
year = {2026},
publisher = {Hugging Face},
howpublished = {Hugging Face dataset},
doi = {10.57967/hf/9425},
url = {https://huggingface.co/datasets/BrunoBarreto/sdss_dr12_stars_regression}
}