denselinkage.metrics.LinkageMetrics

class denselinkage.metrics.LinkageMetrics(true_positive: int, false_positive: int, false_negative: int, n_gold: int, n_errors: int = 0)[source]

Bases: object

Contract: pairs that errored (a MatchError in LinkageResult.errors) are excluded from tp/fp/fn and reported as n_errors. false_negative counts every gold pair not predicted a match — including gold pairs the blocker never surfaced — so recall is honest end-to-end, not conditional on blocking.