iT邦幫忙

1

[Machine Learning A-Z [2026] ] 學習筆記 Day8 Polynomial Regression 概念+實作

  • 分享至 

  • xImage
  •  

Polynomial Regression 又稱多項式迴歸,不同於前面我們討論過的各種線性回歸,這裡最後的預測結果如果畫在圖上,X跟Y的關係不是單純的一條斜線惹,而是一條曲線。
所以算出來的內容也會比較複雜、變數可能經過一些轉換(次方、立方等等)。根據維基百科,可能會用來解釋經濟現象或者生物現象,可能變數跟對應的變化比較複雜這樣。

公式如下
polynomial regression

實作的部分要用職等來預測薪水
https://ithelp.ithome.com.tw/upload/images/20260812/20183477cjhalbQ05M.png

一樣先匯入涵式庫、資料,並且將資料分成X,Y
接著做polyregression的轉換。邏輯上是先算出回歸多項式、然後再將轉換過後的多項式套入linear regression裡。
因此需要新的library-PolynomialFeatures
import sklearn.preprocessing from PolynomialFeatures
然後我們要拿X資料算出回歸式,先宣告polynomial

X_Poly = Polyreg.fit_transform(X)
linereg = linearRegression()
linereg.fit(X_Poly,y)

OK,最後就是把結果繪製出來囉~如果有跟著實作,會發現結果超級吻合XD
最後就可以做預測拉~假設我要預測職等=6.5的薪水會是多少,可以這樣做
linereg.predict(Polyreg.fit_transform([6.5]))

是說Polynomial 實際上的運用? 我查了一下,這篇說拿來預測股票、房價都很不錯,而我個人則是覺得,只要,以下這篇給了其他的觀點
https://medium.com/@mohammedsaimquadri/polynomial-regression-understanding-the-curve-in-your-data-mathematical-intuition-d1a252bbac94

這篇提醒我們用polynomial還得要注意幾件事:

  1. degree的選擇要小心、可以用cross validation驗證選的degree是否是最好的
  2. degree選擇太低可能會有low fit的狀況,而太高則是會有overfitting的現象,overfitting對於特定的資料來說可以出超級完美的結果,但如果拿一組新的資料帶入訓練好的模型,預測的效果就會很差,那就等於做白工ㄌ。所以我們要找到一個適合的degree,我們需要的good fit,good fit幫我們找出資料的"趨勢",並算出一個合理的趨勢。
    上頭medium的文章介紹了如何解決overfitting,不過就不在這裡討論了~真的要來計算時,再討論吧~

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言