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