CoolFace
Datasetpublic

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.

sourceHugging Facecc-by-4.0updated 2mo agoView on Hugging Face
0likes38downloads
Dataset Card

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:

text
train.parquet
validation.parquet
test.parquet

The split sizes are:

SplitNumber of spectra
Train29,422
Validation4,846
Test14,443

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

ColumnDescription
spec_idInternal spectrum identifier used to align the split with the downloaded FITS files
plateSDSS plate identifier
mjdModified Julian Date of the observation
fiberSDSS fiber identifier
raRight ascension in degrees
decDeclination in degrees
snrSignal-to-noise ratio from the source catalog, when available
rv_adopAdopted radial velocity from the source catalog
rv_adop_uncUncertainty of the adopted radial velocity
fluxRaw SDSS flux array from the FITS spectrum
loglamLog10 wavelength array corresponding to flux
ivarInverse variance array from the FITS spectrum
maskBoolean mask where invalid or non-positive-inverse-variance pixels are marked
processed_fluxFixed-length processed spectral feature vector used by the benchmark models
catalog_teffAdopted catalog effective temperature
catalog_teff_uncUncertainty of catalog_teff
catalog_fehAdopted catalog metallicity [Fe/H]
catalog_feh_uncUncertainty of catalog_feh
catalog_loggAdopted catalog surface gravity
catalog_logg_uncUncertainty of catalog_logg

Target Labels

The supervised regression targets are the adopted catalog stellar parameters:

TargetDescriptionUnit
catalog_teffEffective temperatureK
catalog_fehMetallicity relative to solardex
catalog_loggSurface gravitydex

The corresponding uncertainty columns are:

text
catalog_teff_unc
catalog_feh_unc
catalog_logg_unc

These are taken from the catalog uncertainty fields:

text
TEFF_ADOP_UNC
FEH_ADOP_UNC
LOGG_ADOP_UNC

Loading the Dataset

python
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

python
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:

bibtex
@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}
}