Skip to content

Commit 159db76

Browse files
committed
docs(dpa_adapt): clarify group_by usage for cross-validation
Explain two cases: formula-named directories vs custom group labels
1 parent d3c55ee commit 159db76

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

doc/dpa_adapt/README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,15 +194,25 @@ Uncertainty estimates can drive active learning (query most uncertain candidates
194194

195195
## Cross-validation
196196

197-
Formula-grouped splitting prevents same-composition leakage between folds:
197+
Formula-grouped splitting prevents same-composition leakage between folds.
198+
`group_by` accepts `"formula"` (uses each system's directory name as the group
199+
key — requires directories named by formula, e.g. `H2O/`, `CH4/`) or a list
200+
of labels the same length as `systems`:
198201

199202
```python
200203
from dpa_adapt import cross_validate, train_test_split, load_dataset
201204

202205
systems = load_dataset("/data/root", label_key="energy")
206+
207+
# Case 1: directory names are formulas (e.g. data/H2O/, data/CH4/)
203208
train, valid, test = train_test_split(systems, group_by="formula", seed=42)
204209

205-
result = cross_validate(model, systems, label_key="energy", cv=5, group_by="formula")
210+
# Case 2: directory names are not formulas (e.g. QM9's sys_0000, sys_0001, …)
211+
formulas = ["H2O", "H2O", "CH4", "CH4", ...] # one label per system
212+
train, valid, test = train_test_split(systems, group_by=formulas, seed=42)
213+
214+
# Cross-validate (same group_by options apply)
215+
result = cross_validate(model, systems, label_key="energy", cv=5, group_by=formulas)
206216
# → {"aggregate": {"mae_mean": ..., "rmse_std": ...}, ...}
207217
```
208218

0 commit comments

Comments
 (0)