feat: tier-aware diag/val split with val-power repair (design 5.1)
This commit is contained in:
@@ -477,8 +477,9 @@ def load_questions_by_id(questions_dir: Path) -> dict[str, GeneratedQuestion]:
|
||||
def check_mcnemar_power(pools: Pools, val_wrong_min: int) -> int:
|
||||
"""校验 validation 池错题数达 McNemar 功效阈,不足即 fail loud。
|
||||
|
||||
build_split 按契约用 split_by_video_assignment(val_wrong_min=0)(不破契约),
|
||||
故功效护栏在 capstone 层单独核验:val 错题数 < 阈 → 验证信号不足以支撑可靠比较。
|
||||
val_wrong_min 已前置到 build_split 内的切分保证功效(不足即从 diag 换入低 T2
|
||||
错题组补足,耗尽 fail-loud);本函数作切分冻结后的冗余最终确认:val 错题数 < 阈
|
||||
→ 验证信号不足以支撑可靠比较。
|
||||
|
||||
参数:
|
||||
pools: 冻结三池(含 validation 与 correctness)。
|
||||
@@ -571,6 +572,7 @@ async def run_pipeline(
|
||||
select_seed=config.seed,
|
||||
val_ratio=config.val_ratio,
|
||||
split_seed=config.seed,
|
||||
val_wrong_min=config.val_wrong_min,
|
||||
),
|
||||
out_path=out_dir / "pools.json",
|
||||
manifest_path=out_dir / "split_manifest.json",
|
||||
|
||||
Reference in New Issue
Block a user