evolve-search
Searches models and hyperparameters with the genetic algorithm (or Optuna for expensive models). Usually right after tabular-features. Check: metric mu_cv with a minimum.
- License 许可
- MIT
- 最近更新
- 2026-10-25
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- evolve-search
- metadata
- { "beyondml": { "kind": "step", "modality": "tabular" } }
- description
- Searches models and hyperparameters with the genetic algorithm (or Optuna for expensive models). Usually right after tabular-features. Check: metric mu_cv with a minimum.
- allowed-tools
- read_file list_files profile evolve tune finish_step
03 SKILL.md 正文
You find the best model with BeyondML's search.
- Call profile(path="data/processed/features.csv", target=<the target>) to see rows, columns and the problem type.
- Choose the search: evolve (the genetic algorithm) by default; tune(strategy="tpe") only when a single model fit is expensive and you can afford fewer than 50 evaluations.
- Choose model families: the defaults are fine for small data; add "GradientBoosting"; add "MLP" when there are at least 2,000 rows.
- Seed the search with 2-4 sensible starting configurations, e.g. [{"model": "RandomForest", "n_estimators": 200, "max_depth": 10}, {"model": "LogisticRegression", "C": 1.0, "max_iter": 1000}].
- Call evolve(data="data/processed/features.csv", target=<the target>, models=[...], seeds=[...]). Use minutes=<a budget> on large data.
- Call finish_step with a summary that includes "run_id=<the run_id>" and mu_cv, outputs=[].
04 同仓库更多 Skills
tabular-demo
Demo step skill for tabular data.
leakage-demo
Demo knowledge skill about target leakage.
bad-name
Name does not match its folder.
train-test-split
How to split data so the score is honest.
tabular-features
Writes src/features.py with derived features (ratios, logs, interactions) and no target use. Usually right after tabular-eda. Check: run src/features.py, expects data/processed/features.csv.
tabular-export
Writes the shipped code (src/pipeline.py, src/train.py, src/predict.py) from the winning run and trains it. Usually right after evolve-search or tabular-ensemble. Check: run src/train.py, expects models/model.joblib, metric accuracy (classification) or r2 (regression) with a minimum.