我使用sci-kit Learn的线性回归模型对我的数据进行了线性回归(2个分类变量和6个数字变量),发现以下回归结果。
regressor = LinearRegression()
regressor.fit(X_train, y_train)
y_pred = regressor.predict(X_test)
r2_score(y_test, y_pred)
--> 0.8399
np.sqrt(mean_squared_error(y_test, y_pred))
--> 149.066
当我使用statsmodels运行相同的数据时,结果完全不同,Rsquared下降了,p值为0.000。
这是什么意思,我做错了什么?
import statsmodels.formula.api as sm
#X = np.append(arr = np.ones((X.shape[0], 1)).astype(int), values = X, axis = 1)
X_opt = X[:, [0,1,2,3,4,5,6,7,8]]
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit()
regressor_OLS.summary()