Source code for sorbetto.performance.constraint_fixed_class_priors

import math

from sorbetto.performance.two_class_classification_performance import (
    TwoClassClassificationPerformance,
)


[docs] class ConstraintFixedClassPriors: def __init__(self, priorPos: float): assert isinstance(priorPos, float) assert priorPos >= 0.0 assert priorPos <= 1.0 self._priorPos = priorPos def __call__(self, performance): assert isinstance(performance, TwoClassClassificationPerformance) value = performance.pfn + performance.ptp return math.isclose(value, self._priorPos, abs_tol=1e-8)
[docs] def getPriorNeg(self): return 1 - self._priorPos
[docs] def getPriorPos(self): return self._priorPos
def __str__(self): priorPos = self._priorPos priorNeg = 1.0 - priorPos return "constraint: fixed class priors for (neg,pos)=({:g},{:g})".format( priorNeg, priorPos )