python 拟合线,拟合函数
生活随笔
收集整理的這篇文章主要介紹了
python 拟合线,拟合函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python 擬合線,擬合函數
- 擬合過程
- 繪制散點圖及擬合線
- 評估指標R方
擬合過程
polyfit()函數可以使用最小二乘法將一些點擬合成一條曲線
numpy.polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False) # x:要擬合點的橫坐標 # y:要擬合點的縱坐標 # deg:自由度.例如:自由度為2,那么擬合出來的曲線就是二次函數,自由度是3,擬合出來的曲線就是3次函數 numpy.poly1d(c_or_r, r=False, variable=None)參數1:為一個數組,若沒有參數2,則生成一個多項式,例如
p = np.poly1d([2,3,5,7])
print§ ==>>2x3 + 3x2 + 5x + 7 數組中的數值為coefficient(系數),從后往前 0,1,2.。。為位置書的次數
參數2:若參數2為True,則表示把數組中的值作為根,然后反推多項式,例如
q = np.poly1d([2,3,5],True)
print(q) ===>>(x - 2)(x - 3)(x - 5) = x3 - 10x2 + 31x -30
參數3:variable=‘z’表示改變未知數的字母,例如:
q = np.poly1d([2,3,5],True,varibale = ‘z’)
print(q) ===>>(z - 2)(z - 3)(z - 5) = z3 - 10z2 + 31z -30
使用poly1d()函數幫我們拼接方程
import numpy as np parameter = np.polyfit(x, y, 3) # 擬合3次方程的參數 p = np.poly1d(parameter) # 組合 方程 y2 = p(x) # 擬合后y值繪制散點圖及擬合線
plt.scatter(x, y) plt.plot(x, y2, color='g') plt.show()評估指標R方
利用相關系數矩陣計算R方
correlation = np.corrcoef(y, y2)[0,1] #相關系數 correlation**2 #R方poly1d函數自帶的輸出結果
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
總結
以上是生活随笔為你收集整理的python 拟合线,拟合函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机变游戏机 N97/5800的GBA模
- 下一篇: 第四届“传智杯”全国大学生IT技能大赛(