run_from_registry
mcda.run_from_registry(scores, metric_ids, weights='equal', method='saw', registry=None, missing='error', versions=None)
Run the MCDA pipeline with polarity, bounds, and scale checks pulled from the registry.
The ontology-aware entry point. For each id in metric_ids this function looks up the metric card via properties_for, picks the normalization strategy from comparability.recommended_normalization (default min_max), validates the requested aggregation and that strategy against the declared scale type and allowed transformations, and feeds polarity, declared bounds, and any chance baseline into run.
Use this when the columns of scores correspond to known metric cards. Use the lower-level run when you want to drive the pipeline by hand-typed polarity strings, for example in a unit test.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
scores |
Array-like of shape (n_tools, n_metrics). The columns must match metric_ids in order. |
required | |
metric_ids |
Sequence[str] | Length n_metrics sequence of metric ids to look up in the registry. |
required |
weights |
Forwarded to run. |
'equal' |
|
method |
str | Forwarded to run. |
'saw' |
registry |
Registry | None | Optional Registry instance. Defaults to a fresh registry over the bundled metrics/ directory. |
None |
missing |
str | Missing-data policy forwarded to run: "error" (default), "available", "worst" or "impute". |
'error' |
versions |
Sequence[str | None] | None | Optional per-metric card version pin, aligned with metric_ids. Forwarded to registry_context; None takes the latest version. |
None |
Returns
| Type | Description |
|---|---|
| Result |
Raises
| Type | Description |
|---|---|
| IncompatibleScaleError | If any metric’s declared scale type or allowed transformations forbid the requested aggregation. |
| IncompleteMatrixError | If the matrix has missing cells and missing does not resolve them. |