tft每日頭條

 > 生活

 > mooc 算法設計與問題分析

mooc 算法設計與問題分析

生活 更新时间:2024-12-24 11:02:08

Mooc上一篇的房屋和價格回歸預測使用的一元線性回歸,這次該用多項式看看拟合效果有什麼變化。

1.多項式原理簡單介紹

(1).基本概念

多項式回歸(Polynomial Regression)是研究一個因變量與一個或多個自變量間多項式的回歸分析方法。如果自變量隻有一個 時,稱為一元多項式回歸;如果自變量有多個時,稱為多元多項式回歸。

mooc 算法設計與問題分析(mooc機器學習第九天-多項式回歸)1

在一元回歸分析中,如果依變量y與自變量x的關系為非線性的,但是又找不到适當的函數曲線來拟合,則可以采用一元多項式回歸。

多項式回歸的最大優點就是可以通過增加x的高次項對實測點進行逼近,直至滿意為止。

mooc 算法設計與問題分析(mooc機器學習第九天-多項式回歸)2

事實上,多項式回歸可以處理相當一類非線性問題,它在回歸分析 中占有重要的地位,因為任一函數都可以分段用多項式來逼近。

2.代碼

import matplotlib.pyplot as plt import numpy as np from sklearn.preprocessing import PolynomialFeatures from sklearn import linear_model plt.rcParams['font.sans-serif']=['SimHei'] datasets_X=[] datasets_Y=[] fr=open('./prices.txt', 'r') lines=fr.readlines() for line in lines: items = line.strip().split(',') datasets_X.append(int(items[0])) datasets_Y.append(int(items[1])) length=len(datasets_X) datasets_X=np.array(datasets_X).reshape([length,1]) datasets_Y=np.array(datasets_Y) # print(datasets_X) maxX=np.max(datasets_X) minX=np.min(datasets_X) X=np.arange(minX,maxX).reshape([-1,1]) #調用算法 poly_reg=PolynomialFeatures(degree=2) #degree=2表示建立datasets_X的二 次多項式特征X_poly。 #更該數值可以提高曲線向真實點的逼近效果 X_poly=poly_reg.fit_transform(datasets_X)#利用創建好的特稱來訓練 #創建線性回歸器 lin_reg_2=linear_model.LinearRegression() lin_reg_2.fit(X_poly,datasets_Y) #圖像 plt.scatter(datasets_X,datasets_Y,color='r') plt.plot(X,lin_reg_2.predict(poly_reg.fit_transform(X)),color='b') plt.xlabel('Area') plt.title('房屋價格和面積關系非線性拟合') plt.ylabel('Price') plt.show()

mooc 算法設計與問題分析(mooc機器學習第九天-多項式回歸)3

圖示效果為4次多項式特征

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved