python 拟合线,拟合函数
python 擬合線,擬合函數(shù)
- 擬合過(guò)程
- 繪制散點(diǎn)圖及擬合線
- 評(píng)估指標(biāo)R方
擬合過(guò)程
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ù) numpy.poly1d(c_or_r, r=False, variable=None)參數(shù)1:為一個(gè)數(shù)組,若沒(méi)有參數(shù)2,則生成一個(gè)多項(xiàng)式,例如
p = np.poly1d([2,3,5,7])
print§ ==>>2x3 + 3x2 + 5x + 7 數(shù)組中的數(shù)值為coefficient(系數(shù)),從后往前 0,1,2.。。為位置書的次數(shù)
參數(shù)2:若參數(shù)2為True,則表示把數(shù)組中的值作為根,然后反推多項(xiàng)式,例如
q = np.poly1d([2,3,5],True)
print(q) ===>>(x - 2)(x - 3)(x - 5) = x3 - 10x2 + 31x -30
參數(shù)3:variable=‘z’表示改變未知數(shù)的字母,例如:
q = np.poly1d([2,3,5],True,varibale = ‘z’)
print(q) ===>>(z - 2)(z - 3)(z - 5) = z3 - 10z2 + 31z -30
使用poly1d()函數(shù)幫我們拼接方程
import numpy as np parameter = np.polyfit(x, y, 3) # 擬合3次方程的參數(shù) p = np.poly1d(parameter) # 組合 方程 y2 = p(x) # 擬合后y值繪制散點(diǎn)圖及擬合線
plt.scatter(x, y) plt.plot(x, y2, color='g') plt.show()評(píng)估指標(biāo)R方
利用相關(guān)系數(shù)矩陣計(jì)算R方
correlation = np.corrcoef(y, y2)[0,1] #相關(guān)系數(shù) correlation**2 #R方poly1d函數(shù)自帶的輸出結(jié)果
p = np.poly1d(parameter,variable='x') print(p)參考鏈接:
https://blog.csdn.net/fffsolomon/article/details/104831050
https://www.cnblogs.com/zhouzhe-blog/p/9621679.html
總結(jié)
以上是生活随笔為你收集整理的python 拟合线,拟合函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 手机变游戏机 N97/5800的GBA模
- 下一篇: 第四届“传智杯”全国大学生IT技能大赛(