日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3中多项式创建_机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合...

發布時間:2024/9/30 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3中多项式创建_机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要向大家介紹了機器學習入門之機器學習之路:python 多項式特征生成PolynomialFeatures? 欠擬合與過擬合,通過具體的內容向大家展現,希望對大家學習機器學習入門有所幫助。

分享一下?線性回歸中?欠擬合?和?過擬合?是怎么回事~為了解決欠擬合的情?經常要提高線性的次數建立模型擬合曲線,?次數過高會導致過擬合,次數不夠會欠擬合。再建立高次函數時候,要利用多項式特征生成器?生成訓練數據。下面把整個流程展示一下模擬了一個預測蛋糕價格的從欠擬合到過擬合的過程git:?https://github.com/linyi0604/MachineLearning在做線性回歸預測時候,為了提高模型的泛化能力,經常采用多次線性函數建立模型f?=?k*x?+?b???一次函數f?=?a*x^2?+?b*x?+?w??二次函數f?=?a*x^3?+?b*x^2?+?c*x?+?w??三次函數。。。泛化:????對未訓練過的數據樣本進行預測。????欠擬合:????由于對訓練樣本的擬合程度不夠,導致模型的泛化能力不足。過擬合:????訓練樣本擬合非常好,并且學習到了不希望學習到的特征,導致模型的泛化能力不足。????在建立超過一次函數的線性回歸模型之前,要對默認特征生成多項式特征再輸入給模型

poly2?=?PolynomialFeatures(degree=2)????#?2次多項式特征生成器

x_train_poly2?=?poly2.fit_transform(x_train)

下面模擬?根據蛋糕的直徑大小?預測蛋糕價格

1?from?sklearn.linear_model?import?LinearRegression

2?import?numpy?as?np

3?import?matplotlib.pyplot?as?plt

4

5?‘‘‘

6?在做線性回歸預測時候,

7?為了提高模型的泛化能力,經常采用多次線性函數建立模型

8

9?f?=?k*x?+?b???一次函數

10?f?=?a*x^2?+?b*x?+?w??二次函數

11?f?=?a*x^3?+?b*x^2?+?c*x?+?w??三次函數

12?。。。

13

14?泛化:

15?????對未訓練過的數據樣本進行預測。

16

17?欠擬合:

18?????由于對訓練樣本的擬合程度不夠,導致模型的泛化能力不足。

19

20?過擬合:

21?????訓練樣本擬合非常好,并且學習到了不希望學習到的特征,導致模型的泛化能力不足。

22

23

24?在建立超過一次函數的線性回歸模型之前,要對默認特征生成多項式特征再輸入給模型

25

26?下面模擬?根據蛋糕的直徑大小?預測蛋糕價格

27

28?‘‘‘

29

30?#?樣本的訓練數據,特征和目標值

31?x_train?=?[[6],?[8],?[10],?[14],?[18]]

32?y_train?=?[[7],?[9],?[13],?[17.5],?[18]]

33

34?#?一次線性回歸的學習與預測

35?#?線性回歸模型?學習

36?regressor?=?LinearRegression()

37?regressor.fit(x_train,?y_train)

38?#?畫出一次線性回歸的擬合曲線

39?xx?=?np.linspace(0,?25,?100)???#?0到16均勻采集100個點做x軸

40?xx?=?xx.reshape(xx.shape[0],?1)

41?yy?=?regressor.predict(xx)??#?計算每個點對應的y

42?plt.scatter(x_train,?y_train)???#?畫出訓練數據的點

43?plt1,?=?plt.plot(xx,?yy,?label="degree=1")

44?plt.axis([0,?25,?0,?25])

45?plt.xlabel("Diameter")

46?plt.ylabel("Price")

47?plt.legend(handles=[plt1])

48?plt.show()

一次線性函數擬合曲線的結果,是欠擬合的情況:

下面進行建立2次線性回歸模型進行預測:

1?#?2次線性回歸進行預測

2?poly2?=?PolynomialFeatures(degree=2)????#?2次多項式特征生成器

3?x_train_poly2?=?poly2.fit_transform(x_train)

4?#?建立模型預測

5?regressor_poly2?=?LinearRegression()

6?regressor_poly2.fit(x_train_poly2,?y_train)

7?#?畫出2次線性回歸的圖

8?xx_poly2?=?poly2.transform(xx)

9?yy_poly2?=?regressor_poly2.predict(xx_poly2)

10?plt.scatter(x_train,?y_train)

11?plt1,?=?plt.plot(xx,?yy,?label="Degree1")

12?plt2,?=?plt.plot(xx,?yy_poly2,?label="Degree2")

13?plt.axis([0,?25,?0,?25])

14?plt.xlabel("Diameter")

15?plt.ylabel("Price")

16?plt.legend(handles=[plt1,?plt2])

17?plt.show()

18?#?輸出二次回歸模型的預測樣本評分

19?print("二次線性模型預測得分:",?regressor_poly2.score(x_train_poly2,?y_train))?????#?0.9816421639597427

二次線性回歸模型擬合的曲線:

擬合程度明顯比1次線性擬合的要好

下面進行4次線性回歸模型:

1?#?進行四次線性回歸模型擬合

2?poly4?=?PolynomialFeatures(degree=4)????#?4次多項式特征生成器

3?x_train_poly4?=?poly4.fit_transform(x_train)

4?#?建立模型預測

5?regressor_poly4?=?LinearRegression()

6?regressor_poly4.fit(x_train_poly4,?y_train)

7?#?畫出2次線性回歸的圖

8?xx_poly4?=?poly4.transform(xx)

9?yy_poly4?=?regressor_poly4.predict(xx_poly4)

10?plt.scatter(x_train,?y_train)

11?plt1,?=?plt.plot(xx,?yy,?label="Degree1")

12?plt2,?=?plt.plot(xx,?yy_poly2,?label="Degree2")

13?plt4,?=?plt.plot(xx,?yy_poly4,?label="Degree2")

14?plt.axis([0,?25,?0,?25])

15?plt.xlabel("Diameter")

16?plt.ylabel("Price")

17?plt.legend(handles=[plt1,?plt2,?plt4])

18?plt.show()

19?#?輸出二次回歸模型的預測樣本評分

20?print("四次線性模型預測得分:",?regressor_poly4.score(x_train_poly4,?y_train))?????#?1.0

四次線性模型預測準確率為百分之百,?但是看一下擬合曲線,明顯存在不合邏輯的預測曲線,

在樣本點之外的情況,可能預測的非常不準確,這種情況為過擬合

本文由職坐標整理并發布,希望對同學們有所幫助。了解更多詳情請關注職坐標人工智能機器學習頻道!

總結

以上是生活随笔為你收集整理的python3中多项式创建_机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。