日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 拟合线,拟合函数

發(fā)布時間:2024/8/1 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 拟合线,拟合函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

python 擬合線,擬合函數(shù)

    • 擬合過程
    • 繪制散點圖及擬合線
    • 評估指標R方

擬合過程

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

numpy.polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False) # x:要擬合點的橫坐標 # y:要擬合點的縱坐標 # deg:自由度.例如:自由度為2,那么擬合出來的曲線就是二次函數(shù),自由度是3,擬合出來的曲線就是3次函數(shù) numpy.poly1d(c_or_r, r=False, variable=None)

參數(shù)1:為一個數(shù)組,若沒有參數(shù)2,則生成一個多項式,例如
  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ù)組中的值作為根,然后反推多項式,例如
  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值

繪制散點圖及擬合線

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

評估指標R方

利用相關(guān)系數(shù)矩陣計算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 拟合线,拟合函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。