-3

我想检查使用Scikit-Learn和Statsmodels.api解决多线性回归问题是否产生相同的输出。我在3部分(按照他们提到的顺序)中做了:Statsmodels(没有截取),Statsmodels(截取)和SKL。正如预期的那样,我的SKL系数和R(平方)与Statsmodels(截距)的相同,但是我的SKL均方误差与Statsmodels(没有截距)的相等。使用Scikit-learn和Statsmodels进行线性回归

我打算分享我的笔记本代码;这是一个相当基本的代码,因为我刚刚开始使用机器学习应用程序。请仔细阅读并告诉我为什么会发生这种情况。此外,如果您可以分享您对任何低效代码的见解,我会很感激。下面的代码:

https://github.com/vgoel60/Linear-Regression-using-Sklearn-vs-Statsmodel.api/blob/master/Linear%20Regression%20Boston%20Housing%20Prices%20using%20Scikit-Learn%20and%20Statsmodels.api.ipynb

+5

您是否意识到链接指向您的计算机上运行的本地服务器?它不能被其他人访问。将您的代码发布到正文中。 – Kshitiz

+0

该死!不,我没有意识到这一点。我从未在本地服务器上使用任何应用程序; Jupyter笔记本在我的电脑上工作的方式。我只是将代码发布在正文中。 –

+0

我创建了一个Github帐户,并在那里上传了这段代码。它应该现在工作正常。谢谢, –

回答

0

你犯了一个错误,这也解释了奇怪的结果。当您从与线性模型的预测scikit学习,你写的:

predictions2 = lm.predict(xtest2) 

请注意,您所使用的lm模型中,一个从第一statsmodels回归所致。相反,您应该写下:

predictions2 = lm2.predict(xtest2) 

当您这样做时,结果如预期。

+0

这可以解答我的问题。非常感谢你。 –

+0

好!不要忘记标记答案是正确的! –