0

我已经为列表数据框(b)建立了一个回归方程,其中所有X(输入变量)都列在collist中。我的响应变量 - Y是SalePrice。如何将测试数据传递给python中的回归方程?

X = b[collist].values 
y = b[['SalePrice']] 
reg2 = LinearRegression() 
reg2.fit(X, y) 
(reg2.intercept_, reg2.coef_) 

我得到了一组系数。

(array([-1003980.93890187]), 
array([[ 1.13921901e+01, 6.72094755e-01, 3.57706059e+02, 
      9.11889135e+01, 1.74211742e+01, 1.49978955e+01, 
      1.01590205e+01, -2.39999419e+00, 2.27570861e+01, 
      .......... 
      ..more terms... 
      1.88596429e+01, 3.57099213e+01, -2.91352714e+01, 
      2.54343753e+01, 1.79479162e+03, 6.95632849e+02, 
      3.97891154e+03, 1.67768978e+03, -2.06711712e+03, 
      -4.70429021e+03]])) 

如何确定哪个系数是哪个项?

而且,我怎么通过测试数据帧在这个等式,并得到响应变量?

测试数据,我得到另一个数据帧,以及其中,列SalePrice(响应)不存在。

谢谢。

回答

0

你应该能够与系数zip列名...

[name, coef for name, coef in zip(b.columns, reg2._coef) 

至于测试框架预测它应该像

reg2.predict(test_df)

你可以还要求分数出样品的R平方

reg2.score(test_X, test_y) 

只需查看documentation

相关问题