Есть датасет с n0 отрицательными и n1 положительными примерами.
Классификатор всегда возвращает одну и ту же вероятность положительного класса p.
Нужно вернуть p, которое минимизирует binary logloss:
L(p) = -n1 * log(p) - n0 * log(1 - p)
def optimal_constant_logloss(n0: int, n1: int) -> float:
Если n0 + n1 == 0, функция должна поднять ValueError.
n0 = 50n1 = 500.5n0 = 60n1 = 400.4n0 = 0n1 = 71