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')[исходный код]

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

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

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

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

Параметры:
y_truearray-like формы (n_samples,) или (n_samples, n_outputs)

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

y_predarray-like формы (n_samples,) или (n_samples, n_outputs)

Предсказанные целевые значения.

sample_weightarray-like формы (n_samples,), по умолчанию None

Веса выборок.

multioutput{‘raw_values’, ‘uniform_average’} или array-like формы (n_outputs,), по умолчанию ’uniform_average’

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

‘raw_values’ :

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

‘uniform_average’ :

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

Возвращает:
scorefloat или ndarray из float

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

Примечания

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

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

Литература

[1]

Уравнение (3.11) из работы Hastie, Trevor J., Robert Tibshirani и Martin J. Wainwright. «Statistical Learning with Sparsity: The Lasso and Generalizations.» (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)
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')
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)
1.0
>>> y_true = [1, 2, 3]
>>> y_pred = [2, 2, 2]
>>> d2_absolute_error_score(y_true, y_pred)
0.0
>>> y_true = [1, 2, 3]
>>> y_pred = [3, 2, 1]
>>> d2_absolute_error_score(y_true, y_pred)
-1.0

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

Spec-Zone.ru

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