CSE472-blanket-challenge/SCM3K
SCM3K Benchmark dataset for the paper: The Good, the Bad, and the Ugly of Markov Boundary for Tabular Prediction Shu Wan, Abhinav Gorantla, Huan Liu, K. Selçuk Candan 3,450 tabular prediction tasks sampled from random structural causal models (SCMs), totalling 3.45M records (1,000 samples per task). Each task ships with the ground-truth Markov boundary of the target node, so you can evaluate feature selection and prediction under known causal structure. Nine feature-count… See the full description on the dataset page: https://huggingface.co/datasets/CSE472-blanket-challenge/SCM3K.
SCM3K
Benchmark dataset for the paper:
[The Good, the Bad, and the Ugly of Markov Boundary for Tabular Prediction](https://huggingface.co/papers/2605.29411) Shu Wan, Abhinav Gorantla, Huan Liu, K. Selçuk Candan
3,450 tabular prediction tasks sampled from random structural causal models (SCMs), totalling 3.45M records (1,000 samples per task). Each task ships with the ground-truth Markov boundary of the target node, so you can evaluate feature selection and prediction under known causal structure. Nine feature-count levels from 40 to 1,000.
Splits
One HF split per feature count F. No predefined train/test partition — use HF slice syntax (e.g. split="f200[:80%]").
Row schema
Each row is one prediction task.
How the data was generated
DAGs: Erdos-Renyi, 5 graphs per (num_nodes, density) pair, seed 42.
SCMs: six families — LINEAR_GAUSSIAN, LINEAR_NONGAUSSIAN, NL_ANM_GAUSSIAN, NL_ANM_NONGAUSSIAN, PNL, HETEROSKEDASTIC. Each DAG gets 5 SCM instantiations with n_samples=1000, coeff_range=1.0, noise_std=0.5.
Quick start
from datasets import load_dataset
ds = load_dataset("CSE472-blanket-challenge/SCM3K", split="f200")
task = ds[0]
X = task["X"] # 1000 x 200
y = task["y"] # 1000
mb = task["mb_mask"] # ground-truth Markov boundaryCitation
@article{wan2026gbu,
title = {The Good, the Bad, and the Ugly of Markov Boundary
for Tabular Prediction},
author = {Wan, Shu and Gorantla, Abhinav and Liu, Huan
and Candan, K. Sel{\c{c}}uk},
year = {2026},
}