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