Оптимальная константа для binary logloss

MediumML coding
05:00
Лучше работает на десктопе
ML CodingLoglossMetricsDerivatives
Реальный собес00:37:49-00:40:402026-05-08 14-02-49Страница собеса

Есть датасет с 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.

Примеры

Пример 1

Вход:
n0 = 50
n1 = 50
Выход:0.5

Пример 2

Вход:
n0 = 60
n1 = 40
Выход:0.4

Пример 3

Вход:
n0 = 0
n1 = 7
Выход:1
Консоль
Нажмите Run или Ctrl+Enter для запуска