leave_one_metric_out

mcda.leave_one_metric_out(scores, polarity, metric_ids=None, weights='equal', method='saw', normalization=None, bounds=None, baselines=None, targets=None, missing='error')

Run the pipeline once with all metrics, then once per metric omission.

For each metric column j, drop column j and re-run beam.mcda.run on the remaining n_metrics - 1 columns with the same weighting and method. Compare every leave-one-out ranking to the base ranking to obtain per-tool rank stability (the fraction of leave-one-out runs in which the tool keeps its base rank) and the maximum rank shift caused by any single omission.

Parameters

Name Type Description Default
scores Array-like of shape (n_tools, n_metrics). required
polarity Sequence[str] Length n_metrics sequence of "higher_is_better" or "lower_is_better". Use beam.cards.polarities_for to source this from the registry. required
metric_ids Sequence[str] | None Optional length n_metrics sequence of metric ids. Carried in the report for labelling; not consulted by the pipeline. None
weights Forwarded to run. "equal", "entropy", or an array. 'equal'
method str Forwarded to run. "saw" or "topsis". 'saw'
normalization Optional per-metric normalization context forwarded to run and subset to the kept columns on each omission. Default None keeps the run defaults. Pass the values from beam.mcda.registry_context so the leave-one-out runs normalize the scores the same way as the headline ranking. None
bounds Optional per-metric normalization context forwarded to run and subset to the kept columns on each omission. Default None keeps the run defaults. Pass the values from beam.mcda.registry_context so the leave-one-out runs normalize the scores the same way as the headline ranking. None
baselines Optional per-metric normalization context forwarded to run and subset to the kept columns on each omission. Default None keeps the run defaults. Pass the values from beam.mcda.registry_context so the leave-one-out runs normalize the scores the same way as the headline ranking. None
targets Optional per-metric normalization context forwarded to run and subset to the kept columns on each omission. Default None keeps the run defaults. Pass the values from beam.mcda.registry_context so the leave-one-out runs normalize the scores the same way as the headline ranking. None

Returns

Type Description
SensitivityReport