F-мера прогноза перегрузки сети
Условие
В файле data.csv находятся результаты прогноза перегрузки электрической сети для квартир дома. Каждая строка описывает один счётчик за расчётный месяц.
Столбец actual_overload содержит результат проверки: 1, если перегрузка действительно была обнаружена, и 0 иначе. Столбец forecast_score содержит оценку модели от 0 до 1. Прогноз считается положительным, если forecast_score >= threshold, где threshold передаётся во входных данных.
Требуется вычислить F-меру с параметром beta для положительного класса, то есть для обнаружения перегрузки. Обозначим через TP число верно предсказанных перегрузок, через FP число ложных срабатываний, через FN число пропущенных перегрузок. Значение метрики равно
F_beta = ((1 + beta^2) * TP) / ((1 + beta^2) * TP + beta^2 * FN + FP).
Пустое значение в столбце month_kwh означает, что показание расхода не передано. Такие строки всё равно участвуют в расчёте, так как для метрики используются только forecast_score и actual_overload. При равенстве forecast_score и threshold строка считается положительным прогнозом.
Формат ввода
В каталоге с программой расположен файл data.csv в кодировке UTF-8. Разделитель полей — запятая, первая строка содержит заголовки. В файле имеются столбцы meter_id, month_kwh, forecast_score, actual_overload.
В первой строке стандартного ввода дано вещественное число beta.
Во второй строке стандартного ввода дано вещественное число threshold.
Формат вывода
Выведите значение F-меры с параметром beta с тремя знаками после десятичной точки.
Ограничения
В файле от 300 до 4000 строк с данными.
Длина meter_id составляет от 5 до 20 символов. Значение month_kwh является вещественным числом от 0.0 до 5000.0 либо пустой строкой. Значение forecast_score является вещественным числом от 0.0 до 1.0. Значение actual_overload равно 0 или 1.
0.1 <= beta <= 5.0, 0.0 <= threshold <= 1.0.
В файле есть хотя бы одна строка с actual_overload = 1, поэтому знаменатель формулы F-меры не равен нулю.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать