precision

Micro-averaged precision over multiple runs.

class pysatl_cpd.analysis.metrics.multiple_run.classification.precision.PrecisionMetric(error_margin)[source]

Bases: DerivedMetric[TraceT, ProviderT, Number, float], Generic

Configure the precision metric with an error margin.

Parameters:

error_margin (tuple[int, int]) – Allowed (left, right) margin around each true change point for matching detections.

__init__(error_margin)[source]
Parameters:

error_margin (tuple[int, int])

Return type:

None

property bases: Mapping[str, IMultipleRunMetric[TraceT, ProviderT, int]]

Underlying TP and FP metrics.

Return type:

Mapping[str, IMultipleRunMetric]

compute(values)[source]

Compute precision as TP / (TP + FP).

Parameters:

values (Mapping[str, double | int | float]) – Must contain tp and fp keys.

Returns:

The precision score. Returns 1.0 when TP + FP is zero.

Return type:

float