Spec-Zone.ru › scikit-learn

d2_absolute_error_score

sklearn.metrics.d2_absolute_error_score(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')[source]

\(D^2\) функция оценки регрессии, доля абсолютной ошибки, объясняемая моделью.

Наилучшее возможное значение равно 1,0, и оно может быть отрицательным (потому что модель может быть произвольно хуже). Модель, которая всегда использует эмпирическую медиану y_true в качестве постоянного прогноза, игнорируя входные признаки, получает значение \(D^2\) равное 0,0.

Подробнее см. в Руководстве пользователя.

Добавлена в версии 1.1.

Параметры:
y_trueодномерный массив или массив формы (n_samples,) или (n_samples, n_outputs)

Истинные (корректные) целевые значения.

y_predодномерный массив или массив формы (n_samples,) или (n_samples, n_outputs)

Оцененные целевые значения.

sample_weightодномерный массив формы (n_samples,), по умолчанию None

Веса образцов.

multioutput{‘raw_values’, ‘uniform_average’} или одномерный массив формы (n_outputs,), по умолчанию ‘uniform_average’

Определяет агрегирование нескольких выходных значений. Массивоподобное значение определяет веса, используемые для усреднения оценок.

‘raw_values’ :

Возвращает полный набор ошибок в случае входных данных с несколькими выходами.

‘uniform_average’ :

Оценки всех выходов усредняются с равными весами.

Возвращает:
scoreчисло с плавающей точкой или массив чисел с плавающей точкой

Значение метрики \(D^2\) с отклонением абсолютной ошибки или массив оценок, если ‘multioutput’ равно ‘raw_values’.

Примечания

Как и \(R^2\), \(D^2\) значение может быть отрицательным (оно не обязательно должно быть квадратом величины D).

Эта метрика не определена для отдельных образцов и вернёт значение NaN, если n_samples меньше двух.

Ссылки

[1]

Формула (3.11) из книги Hastie, Trevor J., Robert Tibshirani и Martin J. Wainwright. «Статистическое обучение со sparsity: Lasso и обобщения». (2015). https://hastie.su.domains/StatLearnSparsity/

Примеры

>>> from sklearn.metrics import d2_absolute_error_score
>>> y_true = [3, -0.5, 2, 7]
>>> y_pred = [2.5, 0.0, 2, 8]
>>> d2_absolute_error_score(y_true, y_pred)
np.float64(0.764...)
>>> y_true = [[0.5, 1], [-1, 1], [7, -6]]
>>> y_pred = [[0, 2], [-1, 2], [8, -5]]
>>> d2_absolute_error_score(y_true, y_pred, multioutput='uniform_average')
np.float64(0.691...)
>>> d2_absolute_error_score(y_true, y_pred, multioutput='raw_values')
array([0.8125    , 0.57142857])
>>> y_true = [1, 2, 3]
>>> y_pred = [1, 2, 3]
>>> d2_absolute_error_score(y_true, y_pred)
np.float64(1.0)
>>> y_true = [1, 2, 3]
>>> y_pred = [2, 2, 2]
>>> d2_absolute_error_score(y_true, y_pred)
np.float64(0.0)
>>> y_true = [1, 2, 3]
>>> y_pred = [3, 2, 1]
>>> d2_absolute_error_score(y_true, y_pred)
np.float64(-1.0)

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.metrics.d2_absolute_error_score.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API