真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

這篇文章主要介紹“python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方”,在日常操作中,相信很多人在python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

連平ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

polyfit()函數(shù)可以使用最小二乘法將一些點(diǎn)擬合成一條曲線。

numpy.polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False) # x:要擬合點(diǎn)的橫坐標(biāo) # y:要擬合點(diǎn)的縱坐標(biāo) # deg:自由度.例如:自由度為2,那么擬合出來(lái)的曲線就是二次函數(shù),自由度是3,擬合出來(lái)的曲線就是3次函數(shù)

首先我們先來(lái)構(gòu)造一下需要被擬合的散點(diǎn)

# 解決坐標(biāo)軸刻度負(fù)號(hào)亂碼 plt.rcParams['axes.unicode_minus'] = False # 解決中文亂碼問題 plt.rcParams['font.sans-serif'] = ['Simhei']  import numpy as np import matplotlib.pyplot as plt x = np.arange(-1, 1, 0.02) y = 2 * np.sin(x * 2.3) + np.random.rand(len(x))

然后打印一下看看

plt.scatter(x, y) plt.show()

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

然后用polyfit函數(shù)來(lái)把這些點(diǎn)擬合成一條3次曲線

parameter = np.polyfit(x, y, 3)

輸出的結(jié)果為3次方程的參數(shù),我們可以像下面這樣把方程拼接出來(lái)

y2 = parameter[0] * x ** 3 + parameter[1] * x ** 2 + parameter[2] * x + parameter[3]

將擬合后的結(jié)果打印一下

plt.scatter(x, y) plt.plot(x, y2, color='g') plt.show()

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

還可以使用poly1d()函數(shù)幫我們拼接方程,結(jié)果是一樣的

p = np.poly1d(parameter) plt.scatter(x, y) plt.plot(x, p(x), color='g') plt.show()
python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

評(píng)估指標(biāo)R方

二維散點(diǎn)進(jìn)行任意函數(shù)的最小二乘擬合

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

最小二乘中相關(guān)系數(shù)與R方的關(guān)系推導(dǎo)

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

其中,

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

利用相關(guān)系數(shù)矩陣計(jì)算R方

correlation = np.corrcoef(y, y2)[0,1]  #相關(guān)系數(shù) correlation**2   #R方

先來(lái)看下poly1d函數(shù)自帶的輸出結(jié)果

p = np.poly1d(parameter,variable='x') print(p)

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

這里是把結(jié)果輸出到兩行里了,但是輸出到兩行是非常不方便的

嘗試下自己編寫函數(shù),使輸出到一行里

parameter=[-2.44919641, -0.01856314,  4.12010434,  0.47296566]  #系數(shù) aa='' deg=3 for i in range(deg+1):         bb=round(parameter[i],2)     #bb是i次項(xiàng)系數(shù)         if bb>=0:             if i==0:                 bb=str(bb)             else:                 bb=' +'+str(bb)         else:             bb=' '+str(bb)         if deg==i:             aaaa=aa+bb         else:             aaaa=aa+bb+'x^'+str(deg-i) print(aa)

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

封裝成函數(shù)

def Curve_Fitting(x,y,deg):     parameter = np.polyfit(x, y, deg)    #擬合deg次多項(xiàng)式     p = np.poly1d(parameter)             #擬合deg次多項(xiàng)式     aa=''                               #方程拼接  ——————————————————     for i in range(deg+1):          bb=round(parameter[i],2)         if bb>0:             if i==0:                 bb=str(bb)             else:                 bb='+'+str(bb)         else:             bb=str(bb)         if deg==i:             aaaa=aa+bb         else:             aaaa=aa+bb+'x^'+str(deg-i)    #方程拼接  ——————————————————     plt.scatter(x, y)     #原始數(shù)據(jù)散點(diǎn)圖     plt.plot(x, p(x), color='g')  # 畫擬合曲線    # plt.text(-1,0,aa,fontdict={'size':'10','color':'b'})     plt.legend([aa,round(np.corrcoef(y, p(x))[0,1]**2,2)])   #拼接好的方程和R方放到圖例     plt.show() #    print('曲線方程為:',aa) #    print('     r^2為:',round(np.corrcoef(y, p(x))[0,1]**2,2))

利用封裝的函數(shù)重新畫圖

Curve_Fitting(x,y,3)

python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方

到此,關(guān)于“python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


本文名稱:python散點(diǎn)圖怎么添加擬合線并顯示擬合方程與R方
轉(zhuǎn)載來(lái)源:http://weahome.cn/article/pgchsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部