-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

好!不要忘記標記答案是正確的! –