python與機器學習入門(5)多項式回歸

多項式回歸:

處理的是一些非線性問題,像一些無法用直線擬合的離散點,比方說隨著工齡的增長和職位的升高而 增加的薪酬

這樣的問題,往往只有一個自變數。

多項式回歸還是比較簡單的

///舉一個栗子///

一家企業:十個職位與對應的薪酬

這時候有一個人來你公司應聘,他已經在6職位上工作了兩年多,還有幾年就可以上到7職位了,你應該給他多少薪酬呢?

這種情況,我們就將他的職位按照6.5算吧。

下面這個是線性回歸的預測出的結果

linr = LinearRegression()linr.fit(X, y)polyr = PolynomialFeatures(degree = 2)linrr = LinearRegression()linrr.fit(X_poly, y)

顯而易見,誤差是非常大的,尤其是看到了y軸上的數量級之後….

這時候讓我們來用多項式回歸,可以通過增加變數的最高次數,來增加擬合結果的準確性。

我們設定的多項式的最高次數是2,但是頭尾兩個數值的誤差還是比較大的

在這個逐步調高最高次數的過程中,發現最高次是4的時候,預測出來的結果是最為準確的。

如果你覺得這個預測圖不夠平滑,你也可以縮減X軸每兩個坐標之間的距離。

我們做一個差來大體看一下誤差:

因為對於多項式回歸的誤差檢測,這裡並沒有比較好的方法。由於通過提高最高次數的過程已經可以逐步的增大預測的準確率,所以這樣的誤差並不算大。

現在你可以給來招聘的人給出合適的工資了

跟原有的公司給出的薪酬對應表相差並不多。

源碼與數據集的下載請移步:

機器學習(5)-多項式回歸 - CSDN博客?

blog.csdn.net


推薦閱讀:

強化學習——從Q-Learning到DQN到底發生了什麼?
Cousera deeplearning.ai筆記 — 深度神經網路(Deep neural network)
一文弄懂神經網路中的反向傳播法——BackPropagation
【深度學習系列】卷積神經網路CNN原理詳解(一)——基本原理

TAG:機器學習 | Python | 數據分析 |