from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(Xtrain, ytrain)
pred=lr.predict(Xtest)
pred
我的 Ytest 值是這樣的
Price_euros
248 675.0
556 255.0
693 2590.0
387 1369.0
781 2350.0
... ...
468 1699.0
508 1323.0
1187 691.0
1010 949.0
1053 979.0
但預測值類似于:
0 7.547000e 02
1 -7.503793e 10
2 2.169000e 03
3 -4.296977e 09
4 1.020596e 10
... ...
256 -7.759706e 09
257 -5.626814e 09
258 7.135000e 02
259 8.365000e 02
260 8.423000e 02
是小數問題嗎?如何四舍五入預測值和預測值不應該是負數不是嗎?
MSE 為 6.255155054767432e 20
我不認為這是正確的
uj5u.com熱心網友回復:
線性回歸是一種仿射模型,從某種意義上說,預測是有形式的。
f(x) = <w, x> b = SUM_i w_i x_i b
這在實踐中意味著總有一些輸入,它會輸出負值。它與您訓練的內容無關,它是線性模型的屬性。
1 -7.503793e 10
2 2.169000e 03
3 -4.296977e 09
4 1.020596e 10
... ...
256 -7.759706e 09
257 -5.626814e 09
258 7.135000e 02
259 8.365000e 02
260 8.423000e 02
所有e 02和e 03都是你的資料范圍內的結果,因為這些是成百上千的。現在為什么有一些真的不在圖表上?同樣,因為它是一個線性模型,它實際上是將您的每個輸入乘以某個權重,然后將它們相加。它是一種非常嚴格、有??限的模型,因此為了最大限度地減少錯誤,有時它需要犯很大的錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/442576.html
上一篇:我在使用dataframe(X.inverseTransform(data_out),columns=data_out.columns)時遇到問題
下一篇:計算多元線性回歸的交叉驗證
