explained_variance_score#
- sklearn.metrics.explained_variance_score(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average', force_finite=True)[источник]#
Функция оценки регрессии по объясненной дисперсии.
Наилучший возможный результат равен 1.0, меньшие значения хуже.
В частном случае, когда
y_trueпостоянна, оценка объяснённой дисперсии не конечна: она либоNaN(идеальные предсказания) или-Inf(несовершенные предсказания). Чтобы предотвратить загрязнение такими неконечными числами высокоуровневых экспериментов, таких как сеточный поиск кросс-валидации, по умолчанию эти случаи заменяются на 1.0 (идеальные предсказания) или 0.0 (несовершенные предсказания) соответственно. Еслиforce_finiteустановлено вFalse, этот показатель возвращается к исходному \(R^2\) определение.Примечание
Объясненная дисперсия похожа на
R^2 score, но первый не учитывает систематические смещения в предсказании (такие как свободный член в линейных моделях, т.е. разные свободные члены дают одинаковый показатель Explained Variance). Чаще всегоR^2 scoreследует предпочесть.Подробнее в Руководство пользователя.
- Параметры:
- 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’, ‘variance_weighted’} или array-like формы (n_outputs,), по умолчанию='uniform_average'
Определяет агрегирование нескольких выходных оценок. Массивоподобное значение определяет веса, используемые для усреднения оценок.
- 'raw_values' :
Возвращает полный набор оценок в случае многомерного ввода.
- 'uniform_average' :
Оценки всех выходов усредняются с равномерным весом.
- 'variance_weighted' :
Оценки всех выходов усредняются, взвешенные по дисперсиям каждого отдельного выхода.
- force_finitebool, по умолчанию=True
Флаг, указывающий, если
NaNи-Infоценки, полученные из постоянных данных, должны быть заменены реальными числами (1.0если предсказание идеально,0.0в противном случае). По умолчаниюTrue, удобная настройка для процедур поиска гиперпараметров (например, поиск по сетке кросс-валидация).Добавлено в версии 1.1.
- Возвращает:
- scorefloat или ndarray из floats
Объясненная дисперсия или ndarray, если 'multioutput' равно 'raw_values'.
Смотрите также
r2_scoreПохожая метрика, но учитывающая систематические смещения в прогнозе.
Примечания
Это не симметричная функция.
Примеры
>>> from sklearn.metrics import explained_variance_score >>> y_true = [3, -0.5, 2, 7] >>> y_pred = [2.5, 0.0, 2, 8] >>> explained_variance_score(y_true, y_pred) 0.957... >>> y_true = [[0.5, 1], [-1, 1], [7, -6]] >>> y_pred = [[0, 2], [-1, 2], [8, -5]] >>> explained_variance_score(y_true, y_pred, multioutput='uniform_average') 0.983... >>> y_true = [-2, -2, -2] >>> y_pred = [-2, -2, -2] >>> explained_variance_score(y_true, y_pred) 1.0 >>> explained_variance_score(y_true, y_pred, force_finite=False) nan >>> y_true = [-2, -2, -2] >>> y_pred = [-2, -2, -2 + 1e-8] >>> explained_variance_score(y_true, y_pred) 0.0 >>> explained_variance_score(y_true, y_pred, force_finite=False) -inf