ROC-AUC отзывов по согласованным парам
Условие
Модель предсказывает вероятность того, что автор отзыва о мобильном приложении оставит положительную оценку. Для каждого отзыва известны истинная метка и оценка модели. Метка 1 означает положительный отзыв, метка 0 — отрицательный.
Качество ранжирования измеряется метрикой ROC-AUC. Рассматриваются все пары вида «положительный отзыв, отрицательный отзыв» среди отзывов с известной оценкой модели. Пусть W — число пар, в которых оценка положительного отзыва строго больше оценки отрицательного, T — число пар с равными оценками, P — число положительных отзывов с известной оценкой, а N — число отрицательных отзывов с известной оценкой. Тогда
ROC-AUC = (W + 0.5 · T) / (P · N).
Если оценка модели записана как NA, такой отзыв не участвует в подсчёте P, N, W и T. Если после исключения пропусков P = 0 или N = 0, следует вывести 0.000.
При равенстве оценок положительного и отрицательного отзывов соответствующая пара добавляет 0.5 к числителю метрики.
Формат ввода
В первой строке дано целое число n — количество отзывов.
В следующих n строках записаны два значения: label и score.
label — истинная метка отзыва, равная 0 или 1.
score — целая оценка модели либо строка NA, если оценка отсутствует.
Формат вывода
Выведите одно число — значение ROC-AUC.
Число необходимо округлить до трёх знаков после десятичной точки. При точном попадании между двумя вариантами округление выполняется в большую сторону.
Ограничения
1 ≤ n ≤ 4000;labelпринимает значения0или1;- если
scoreне равенNA, то это целое число от-100000до100000включительно; - длина записи
scoreсоставляет от2до7символов; - во входных данных могут встречаться одинаковые оценки и пропуски
NA.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается