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