日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

by28777 by28777域名查詢( 五 )



其方程的求解過程希望讀者下來自行學(xué)習(xí),接下來作者主要講解Python如何代碼實(shí)現(xiàn)多項(xiàng)式回歸分析的 。
2.PolynomialFeaturesPython的多項(xiàng)式回歸需要導(dǎo)入sklearn.preprocessing子類中PolynomialFeatures類實(shí)現(xiàn) 。PolynomialFeatures對(duì)應(yīng)的函數(shù)原型如下:
class sklearn.preprocessing.PolynomialFeatures(degree=2,interaction_only=False,include_bias=True)
PolynomialFeatures類在Sklearn給出的解釋是:專門產(chǎn)生多項(xiàng)式的模型或類,并且多項(xiàng)式包含的是相互影響的特征集 。共有三個(gè)參數(shù),degree表示多項(xiàng)式階數(shù) , 一般默認(rèn)值是2;interaction_only如果值是true(默認(rèn)是False),則會(huì)產(chǎn)生相互影響的特征集;include_bias表示是否包含偏差列 。
PolynomialFeatures類通過實(shí)例化一個(gè)多項(xiàng)式 , 建立等差數(shù)列矩陣 , 然后進(jìn)行訓(xùn)練和預(yù)測(cè) , 最后繪制相關(guān)圖形,接下來與前面的一元線性回歸分析進(jìn)行對(duì)比試驗(yàn) 。
3.多項(xiàng)式回歸預(yù)測(cè)成本和利潤(rùn)本小節(jié)主要講解多項(xiàng)式回歸分析實(shí)例,分析的數(shù)據(jù)集是表17.1提供的企業(yè)成本和利潤(rùn)數(shù)據(jù)集 。下面直接給出線性回歸和多項(xiàng)式回歸分析對(duì)比的完整代碼和詳細(xì)注釋 。
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-07-03from sklearn.linear_model import LinearRegressionfrom sklearn.preprocessing import PolynomialFeaturesimport matplotlib.pyplot as pltimport numpy as np#X表示企業(yè)成本 Y表示企業(yè)利潤(rùn)X = [[400], [450], [486], [500], [510], [525], [540], [549], [558], [590], [610], [640], [680], [750], [900]]Y = [[80], [89], [92], [102], [121], [160], [180], [189], [199], [203], [247], [250], [259], [289], [356]]print('數(shù)據(jù)集X: ', X)print('數(shù)據(jù)集Y: ', Y)#第一步 線性回歸分析clf = LinearRegression()clf.fit(X, Y)X2 = [[400], [750], [950]]Y2 = clf.predict(X2)print(Y2)res = clf.predict(np.array([1200]).reshape(-1, 1))[0]print('預(yù)測(cè)成本1200元的利潤(rùn):$%.1f' % res)plt.plot(X, Y, 'ks') #繪制訓(xùn)練數(shù)據(jù)集散點(diǎn)圖plt.plot(X2, Y2, 'g-') #繪制預(yù)測(cè)數(shù)據(jù)集直線#第二步 多項(xiàng)式回歸分析xx = np.linspace(350,950,100) #350到950等差數(shù)列quadratic_featurizer = PolynomialFeatures(degree = 2) #實(shí)例化一個(gè)二次多項(xiàng)式x_train_quadratic = quadratic_featurizer.fit_transform(X) #用二次多項(xiàng)式x做變換X_test_quadratic = quadratic_featurizer.transform(X2)regressor_quadratic = LinearRegression()regressor_quadratic.fit(x_train_quadratic, Y)#把訓(xùn)練好X值的多項(xiàng)式特征實(shí)例應(yīng)用到一系列點(diǎn)上,形成矩陣xx_quadratic = quadratic_featurizer.transform(xx.reshape(xx.shape[0], 1))plt.plot(xx, regressor_quadratic.predict(xx_quadratic), "r--",label="$y = ax^2 + bx + c$",linewidth=2)plt.legend()plt.show()
輸出圖形如下圖所示 , 其中黑色散點(diǎn)圖表示真實(shí)的企業(yè)成本和利潤(rùn)的關(guān)系 , 綠色直線為一元線性回歸方程 , 紅色虛曲線為二次多項(xiàng)式方程 。它更接近真實(shí)的散點(diǎn)圖 。

這里我們使用R方(R-Squared)來評(píng)估多項(xiàng)式回歸預(yù)測(cè)的效果,R方也叫確定系數(shù)(Coefficient of Determination),它表示模型對(duì)現(xiàn)實(shí)數(shù)據(jù)擬合的程度 。計(jì)算R方的方法有幾種,一元線性回歸中R方等于皮爾遜積矩相關(guān)系數(shù)(Pearson Product Moment Correlation Coefficient)的平方,該方法計(jì)算的R方是一定介于0~1之間的正數(shù) 。另一種是Sklearn庫(kù)提供的方法來計(jì)算R方 。R方計(jì)算代碼如下:
print('1 r-squared', clf.score(X, Y))print('2 r-squared', regressor_quadratic.score(x_train_quadratic, Y))
輸出如下所示:
('1 r-squared', 0.9118311887769025)('2 r-squared', 0.94073599498559335)

一元線性回歸的R方值為0.9118,多項(xiàng)式回歸的R方值為0.9407,說明數(shù)據(jù)集中超過94%的價(jià)格都可以通過模型解釋 。最后補(bǔ)充5次項(xiàng)的擬合過程,下面只給出核心代碼 。

推薦閱讀