Skip to content

feat: production data ablation with offline mode, caching, parallel runs, leave-one-out, groups, YAML, and sklearn_evaluator() - #535

Merged
rich-iannone merged 8 commits into
mainfrom
feat-ablation-production
Nov 7, 2026
Merged

rich-iannone merged 8 commits into
mainfrom
feat-ablation-production

Conversation

@rich-iannone

Copy link
Copy Markdown
Member

With this PR ablations can now be exported for training elsewhere and read back with export() / load_results(), which check a manifest of data and plan fingerprints. Results can be cached with cache= / evaluate_version=, and runs can be parallel with run(max_workers=, executor="thread" | "process").

New strategies and checks: drop_all_but_each() (what each step adds on top of the others, with a redundant verdict), drop_groups(), a pb.ablation.Stratified control, check_determinism(), and annotate(), which writes the results into the validation's step notes. Ablations can also be defined in a YAML ablation: block and built with pb.yaml_ablation(), with evaluate: behind allow_python. A new pointblank[ml] extra provides pb.ablation.sklearn_evaluator() for a ready-made scikit-learn evaluate function. Tests run across Polars, pandas, DuckDB, SQLite, and PySpark, and the data ablation user guide has new sections for each feature.

@rich-iannone
rich-iannone merged commit 443e32f into main Nov 7, 2026
11 checks passed
@rich-iannone
rich-iannone deleted the feat-ablation-production branch November 7, 2026 21:51

This branch was successfully deployed

1 active deployment
pr-535 — 63d55765 Deployed Nov 7, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant