lenskit.metrics.ListMetric#

class lenskit.metrics.ListMetric#

Bases: Metric[float | None, lenskit.data.accum.ValueStatistics]

Base class for metrics defined on individual recommendation outputs. This is the most common type of metric.

For prediction metrics, this is macro-averaging.

Metrics based on this class implement measure_list() to compute a single numeric value for each list, and the accumulated result will be basic statistical summaries of those values.

Stability:
Full (see Stability Levels).
default: ClassVar[float | None] = 0.0#
abstractmethod measure_list(output, test, /)#

Compute measurements for a single list.

Returns:

  • A float for simple metrics

  • Intermediate data for decomposed metrics

  • A dict mapping metric names to values for multi-metric classes

Parameters:
Return type:

float | None

extract_list_metrics(data, /)#

Return the given per-list metric result.

Parameters:

data (Any)

Return type:

float

create_accumulator()#

Creaet an accumulator to aggregate per-list measurements into summary metrics.

Each result from measure_list() is passed to Accumulator.add().

Return type:

lenskit.data.accum.ValueStatAccumulator