Macro-F1 по заявкам выбранного региона
Условие
Провайдер распределяет заявки в службу поддержки по трём категориям: billing — вопросы оплаты, connection — проблемы с подключением, equipment — неисправности оборудования. Для каждой заявки известны фактическая категория, категория, предсказанная классификатором, и регион клиента.
Необходимо оценить работу классификатора только для региона из запроса, указанного в последней строке входа. Для каждой категории рассматривается задача «эта категория против всех остальных». Для категории c обозначим через TP_c число заявок региона, у которых фактическая и предсказанная категории равны c; через FP_c — число заявок, предсказанных как c, но фактически относящихся к другой категории; через FN_c — число заявок категории c, предсказанных как другая категория.
F1-мера категории вычисляется по формуле F1_c = 2 * TP_c / (2 * TP_c + FP_c + FN_c). Если знаменатель этой формулы равен нулю, значение F1_c считается равным нулю. Требуется вывести macro-F1: (F1_billing + F1_connection + F1_equipment) / 3.
Ответ выводится с тремя знаками после десятичной точки. Округление выполняется до ближайшего значения, а при ровном расположении между двумя значениями выбирается большее по модулю значение. В запросе всегда указан регион, встречающийся хотя бы в одной заявке.
Формат ввода
В первой строке дано целое число n — количество заявок.
В следующих n строках содержатся три строки через пробел: фактическая категория заявки, категория, предсказанная классификатором, и регион клиента.
В последней строке содержится строка region_query — регион из запроса. Macro-F1 вычисляется только по заявкам этого региона.
Формат вывода
Выведите одно число — macro-F1 для региона из запроса с тремя знаками после десятичной точки.
Ограничения
1 <= n <= 4000.
Фактическая и предсказанная категории имеют одно из значений: billing, connection, equipment.
Длина названия региона составляет от 1 до 20 символов. Название региона состоит из строчных латинских букв, цифр и символа _.
Регион из последней строки встречается хотя бы в одной из n заявок.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки