validate
Deployment gate. Check a model against performance rules and optionally compare to a baseline model. Returns pass/fail with reasons.
Signature
ml.validate(model, *, test, rules=None, baseline=None, tolerance=0.0)
ml_validate(model, test, rules = NULL, baseline = NULL, tolerance = 0.0)
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
model | Model | — | Model to validate |
test | DataFrame | — | Test data |
rules | dict | None | None | Performance thresholds, e.g. {"accuracy": ">0.85"} |
baseline | Model | None | None | Previous model to check for regressions |
tolerance | float | 0.0 | Allowed degradation from baseline |
Returns
ValidateResult with:
.passed—Trueif all rules pass and no regressions.failures— list of failed rules.improvements/.degradations— vs baseline
Examples
With rules
result = ml.validate(
model,
test=s.test,
rules={"accuracy": ">0.80", "roc_auc": ">=0.85"},
)
print(result.passed) # True or False
print(result.failures) # [] or ["accuracy: 0.78 < 0.80"] result <- ml_validate(
model, s$test,
rules = list(accuracy = ">0.80", roc_auc = ">=0.85")
)
result$passed
result$failures Against a baseline
result = ml.validate(
new_model,
test=s.test,
baseline=old_model,
) result <- ml_validate(new_model, s$test, baseline = old_model)