【機器學習】多項式迴歸sklearn實現

使用sklearn框架實現多項式迴歸。使用框架更方便,能夠少寫不少代碼。python

使用一個簡單的數據集來模擬,只有幾條數據。 框架

代碼

若是不用框架,須要本身手動對數據添加高階項,有了框架就方便多了。sklearn 使用 Pipeline 函數簡化這部分預處理過程。

當 PolynomialFeatures 中的degree=1時,效果和使用 LinearRegression 相同,獲得的是一個線性模型,degree=2時,是二次方程,若是是單變量的就是拋物線,雙變量的就是拋物面。以此類推。機器學習

這裏有一個 fit_intercept 參數,下面經過一個例子看一下它的做用。函數

當 fit_intercept 爲 True 時,coef_ 中的第一個值爲 0,intercept_ 中的值爲實際的截距。post

當 fit_intercept 爲 False 時,coef_ 中的第一個值爲截距,intercept_ 中的值爲 0。學習

如圖,第一部分是 fit_intercept 爲 True 時的結果,第二部分是 fit_intercept 爲 False 時的結果。 cdn

也就是說當 fit_intercept 爲 False 時,模型就把截距放到係數的list裏面了,不單獨拿出來。

爲了方便,本文中咱們都把 fit_intercept 設成 False。blog

運行結果

從圖中看出數據分佈在一條拋物線附近。
最終獲得的模型爲:
若是須要代碼和數據集,請掃描下面二維碼關注公衆號【AI developer】,回覆【代碼】便可免費獲取。

相關文章
相關標籤/搜索