Задача курса

Порог классификации по цене FN и FP: precision и recall

Курс «Машинное обучение с нуля на Python: первая модель» · урок «Как выбрать метрику по цене ошибки»

Условие

Порог для двух разных цен ошибок

Обученная модель выдала вероятности задержки и истинные метки на отдельной валидационной части. Два заказчика выбирают между порогами 0.3 и 0.7 на этих же строках. Для первого пропуск задержки важнее ложной тревоги; для второго ложная тревога важнее пропуска.

В коде заданы probabilities, y_valid и priorities. Пары в priorities — относительные веса (FN, FP), а не денежные суммы. Для каждого заказчика сравните взвешенное число ошибок FN × вес_FN + FP × вес_FP у двух порогов. Это правило выбора для данных приоритетов и этой валидации, а не универсально оптимальный порог. При равенстве оценок выберите 0.7.

Реализуйте compare_thresholds(probabilities, actual, priorities). Верните low и high: в каждом должны быть бинарные labels, precision, recall класса 1, числа fp и fn. В choices верните выбранный порог для каждого имени из priorities. Сохраните результат на видимых данных в comparison. На других данных оба заказчика могут выбрать одинаковый порог. Модель повторно обучать и test для выбора использовать не нужно. stdin и stdout не используются.

Попробуйте решить

РешениеPython
Без регистрации · результат не сохраняется
Порог классификации по цене FN и FP: precision и recall