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