Engine.evaluate_cases
Engine.evaluate_cases(model_name=None, split='validation', *, group_by=None)One row per case instead of one row per model.
The comparison table answers “which model”; this answers “on whom does it fail”, which is the question a clinician asks first and the one a single mean cannot answer. With group_by, each row also carries the group - the patient, usually - so the rows can be summarised per patient rather than per slice.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| model_name | str | None | Which model, by name. Defaults to the first. | None |
| split | str | Which data to score on. | 'validation' |
| group_by | str | None | A pattern picking a group out of each case’s name. With it the rows are patients rather than slices: a patient’s slices are pooled into one score, the way a volume would be. | None |
Returns
| Name | Type | Description |
|---|---|---|
| list[dict[str, Any]] | One row per case, or per group. summarise_cases turns them into the |
|
| list[dict[str, Any]] | distribution - and its minimum is the number worth reading. |