qif.mechanism.bayes_risk

Mechanism construction for Bayes risk.

qif.mechanism.bayes_risk.max_risk_for_row(*args, **kwargs)

Overloaded function.

  1. max_risk_for_row(pi: Row<double>, p: float, C: Mat<double>) -> Row<double>

  2. max_risk_for_row(pi: Row<rat>, p: mppp::rational<1>, C: Mat<rat>) -> Row<rat>

qif.mechanism.bayes_risk.max_risk_given_max_loss(*args, **kwargs)

Overloaded function.

  1. max_risk_given_max_loss(pi: Row<double>, n_cols: int, max_loss: float, loss: Callable[[int, int], float], hard_max_loss: float = inf) -> Mat<double>

  2. max_risk_given_max_loss(pi: Row<rat>, n_cols: int, max_loss: mppp::rational<1>, loss: Callable[[int, int], mppp::rational<1>], hard_max_loss: mppp::rational<1> = Fraction(9223372036854775807, 1)) -> Mat<rat>

qif.mechanism.bayes_risk.min_loss_given_min_risk(*args, **kwargs)

Overloaded function.

  1. min_loss_given_min_risk(pi: Row<double>, n_cols: int, min_risk: float, loss: Callable[[int, int], float], hard_max_loss: float = inf) -> Mat<double>

  2. min_loss_given_min_risk(pi: Row<rat>, n_cols: int, min_risk: mppp::rational<1>, loss: Callable[[int, int], mppp::rational<1>], hard_max_loss: mppp::rational<1> = Fraction(9223372036854775807, 1)) -> Mat<rat>