我對這個coursera當然線性迴歸(https://www.coursera.org/specializations/machine-learning)線性迴歸的過度擬合
我已經解決使用graphlab訓練,但想嘗試的經驗和學習sklearn追求課程2。我爲此使用了sklearn和熊貓。
該模型過度適用於數據。我怎樣才能解決這個問題?這是代碼。
這些是我得到的係數。
[-3.33628603e-13 1.00000000e + 00]
poly1_data = polynomial_dataframe(sales["sqft_living"], 1)
poly1_data["price"] = sales["price"]
model1 = LinearRegression()
model1.fit(poly1_data, sales["price"])
print(model1.coef_)
plt.plot(poly1_data['power_1'], poly1_data['price'], '.',poly1_data['power_1'], model1.predict(poly1_data),'-')
plt.show()
繪製的線是這樣的。如你所見,它連接每個數據點。 ,這是輸入數據
也許你想問你的問題上stats.stackexchange,因爲它是不是一個真正的編程問題。 避免在線性迴歸中避免過度使用損失函數,通常使用Ridge或Lasso迴歸。 最後,如果你的訓練和測試集之間有完美的相關性,我建議檢查一下你是否使用相同的數據爲兩者;) – LoicM
感謝您的建議,將在那裏提出我的問題。另外,我只是試圖從訓練模型的係數中畫出線。但是創建的這條線甚至不是一條直線。這是如何發生的?給定一個截距和一個斜坡。 –
請爲此提出一個單獨的問題,說明您使用的代碼,捕獲您獲得的內容以及它與預期結果的差異。 我(和其他很多人)會很樂意幫助! – LoicM