d2_tweedie_score#

sklearn.metrics.d2_tweedie_score(y_true, y_pred, *, sample_weight=None, степень=0)[источник]#

\(D^2\) функция оценки регрессии, доля объяснённого отклонения Твиди.

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

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

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

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

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

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

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

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

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

степеньfloat, по умолчанию=0

Параметр мощности Tweedie. Либо power <= 0, либо power >= 1.

Чем выше p меньший вес придается экстремальным отклонениям между истинными и предсказанными целевыми значениями.

  • степень < 0: Экстремальное устойчивое распределение. Требуется: y_pred > 0.

  • power = 0 : Normal distribution, output corresponds to r2_score. y_true and y_pred can be any real numbers.

  • power = 1 : распределение Пуассона. Требуется: y_true >= 0 и y_pred > 0.

  • 1 < p < 2 : Составное распределение Пуассона. Требуется: y_true >= 0 и y_pred > 0.

  • power = 2 : Гамма-распределение. Требуется: y_true > 0 и y_pred > 0.

  • power = 3 : Обратное распределение Гаусса. Требуется: y_true > 0 и y_pred > 0.

  • иначе : Положительное устойчивое распределение. Требуется: y_true > 0 и y_pred > 0.

Возвращает:
zfloat

Оценка D^2.

Примечания

Это не симметричная функция.

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

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

Ссылки

[1]

Уравнение (3.11) из Hastie, Trevor J., Robert Tibshirani and Martin J. Wainwright. "Statistical Learning with Sparsity: The Lasso and Generalizations." (2015). https://hastie.su.domains/StatLearnSparsity/

Примеры

>>> from sklearn.metrics import d2_tweedie_score
>>> y_true = [0.5, 1, 2.5, 7]
>>> y_pred = [1, 1, 5, 3.5]
>>> d2_tweedie_score(y_true, y_pred)
0.285...
>>> d2_tweedie_score(y_true, y_pred, power=1)
0.487...
>>> d2_tweedie_score(y_true, y_pred, power=2)
0.630...
>>> d2_tweedie_score(y_true, y_true, power=2)
1.0