Коэффициент детерминации оценок отзывов
Условие
Команда мобильного приложения сравнивает оценки пользователей с оценками, которые предсказала модель. Каждый отзыв содержит версию приложения, фактическую оценку пользователя и прогноз модели.
В конце входа перечислены версии приложения, образующие запрос. В расчёт попадают все отзывы тех версий, которые перечислены в запросе. Отзывы с пропущенным прогнозом, обозначенным символом -, в расчёт не попадают.
Требуется вычислить коэффициент детерминации R2 для отзывов запроса. Если после исключения пропусков получились пары фактических оценок y_i и прогнозов p_i, то сначала вычисляется средняя фактическая оценка ȳ. Затем
R2 = 1 - (Σ(y_i - p_i)^2) / (Σ(y_i - ȳ)^2).
Если в расчёте нет отзывов либо все их фактические оценки одинаковы, следует считать R2 равным 0. Равенства числовых значений не требуют выбора и не влияют на результат.
Формат ввода
В первой строке задано целое число n — количество отзывов.
В следующих n строках заданы три значения: версия приложения, фактическая оценка пользователя и прогноз модели. Пропущенный прогноз записан символом -.
В следующей строке задано целое число k — число версий в запросе.
В следующих k строках записаны версии приложения из запроса. Каждая версия в запросе встречается ровно один раз.
Формат вывода
Выведите одно число — значение R2 для отзывов, соответствующих запросу, с тремя знаками после десятичной точки.
Округление производится до ближайшего значения с тремя знаками после точки. Если следующая цифра равна 5, число округляется в большую сторону по модулю.
Ограничения
1 ≤ n ≤ 4000.
1 ≤ k ≤ 50.
Длина названия версии приложения составляет от 1 до 20 символов. Название состоит из латинских букв, цифр, символов . и -.
Фактическая оценка пользователя — целое число от 1 до 5.
Прогноз модели либо равен -, либо записан с двумя знаками после точки и находится в диапазоне от 0.00 до 5.00.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому