1. Главная
  2. Библиотека
  3. Программирование
  4. В этой задаче вам нужно реализовать метрику rootmeansquaredlogarithmicerror...
Разбор задачи

В этой задаче вам нужно реализовать метрику rootmeansquaredlogarithmicerror(ytrue, ypred): которая вычисляется по следующей формуле: Чтобы не было проблем с отрицательными предсказаниями, все предсказания, которые меньше некоторого порога , указываемого

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
В этой задаче вам нужно реализовать метрику rootmeansquaredlogarithmicerror(ytrue, ypred): которая вычисляется по следующей формуле: Чтобы не было проблем с отрицательными предсказаниями, все предсказания, которые меньше некоторого порога , указываемого

Условие:

В этой задаче вам нужно реализовать метрику\ndef root_mean_squared_logarithmic_error(y_true, y_pred):

\npass

которая вычисляется по следующей формуле:

 Metric =1Ni=1N(log(yi)log(y^i))2 \text { Metric }=\sqrt{\frac{1}{N} \sum_{i=1}^{N}\left(\log \left(y_{i}\right)-\log \left(\hat{y}_{i}\right)\right)^{2}}

Чтобы не было проблем с отрицательными предсказаниями, все предсказания, которые меньше некоторого порога amina_{\min }, указываемого при инициализации (по умолчанию amin=1a_{\min }=1 ) нужно заменять этим порогом ( y^imax(y^i,amin )\hat{y}_{i} \longleftarrow \max \left(\hat{y}_{i}, a_{\text {min }}\right) ), после чего уже подавать в формулу с логарифмами.

Ваша функция должна выдавать ошибку, если среди истинных таргетов yiy_{i} есть отрицательные числа.

Решение:

  1. Импортируем модуль numpy, так как будем работать с массивами и вычислять логарифмы, а также применять операцию сравнения и максимум поэлементно.

  2. Проверяем, содержит ли массив истинных значений (y_true) отрицательные значения. Если таковые найдены, выбрасываем ошибку ValueError.

  3. Для корректного вычисления логарифмов для предсказанных значений (y_pred) необходимо заменить все значения меньше порогового значения a_min (по умолчанию 1) на само значение порога. Это выполняется с помощью функции numpy.maximum.

  4. Вычисляем логарифмы для y_...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

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

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое действие необходимо выполнить с предсказанными значениями `y_pred` перед вычислением логарифмов в метрике RMSLE, чтобы избежать проблем с отрицательными предсказаниями?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет