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.