21
Июл
2021

Значения регрессии занижены относительно данных

Я строю модель линейной регрессии. Построив график предсказанных результатов я заметил, что значения регрессии лежат практически целиком ниже истинных. Т.е. прибавив константу к значениям модели я фактически "улучшу" результат. Какие могут быть причины?

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler, StandardScaler

scaler = MinMaxScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

poly = PolynomialFeatures(degree=2, interaction_only = True).fit(X_train_scaled)
X_train_poly = poly.transform(X_train_scaled)
X_test_poly = poly.transform(X_test_scaled)

rdg = linear_model.Ridge(alpha=0.01)
rdg.fit(X_train_scaled, y_train)

y_test_predict = rdg.predict(X_test_scaled)
y_train_predict = rdg.predict(X_train_scaled)

print('R^2 training: %.3f, R^2 test: %.3f' % (
      (metrics.r2_score(y_train, y_train_predict)), 
      (metrics.r2_score(y_test, y_test_predict))))

rdg_metrics = get_regression_metrics('Ridge Regression', y_test, y_test_predict)
rdg_metrics

введите сюда описание изображения

Источник: https://ru.stackoverflow.com/questions/1307558/%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D0%B8-%D0%B7%D0%B0%D0%BD%D0%B8%D0%B6%D0%B5%D0%BD%D1%8B-%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

Тебе может это понравится...

Добавить комментарий