compileml.select

choose

def choose(rows: dict[tuple, dict], y_eval, *, metric: str, tie_se: float, n_boot: int, seed: int) -> dict

from compileml.select import choose

One-SE-simplest: the simplest configuration statistically tied with the best.

Bootstrap the evaluation rows to get the standard error of the best configuration's metric; everything within tie_se standard errors is tied. Among the tied, prefer α = 1 (no training dependency on the ceiling), then fewer trees, then lower depth. The α preference is a governance prior, recorded as the tie rule, not an empirical claim.

Parameters#

NameTypeDefaultKind
rowsdict[tuple, dict]requiredpositional
y_eval—requiredpositional
metricstrrequiredkeyword-only
tie_sefloatrequiredkeyword-only
n_bootintrequiredkeyword-only
seedintrequiredkeyword-only

Returns#

dict

Raises#

  • ValueError

Read from the function body and the private helpers it calls, not inferred. A function that raises nothing has no section here.