python 拟合线,拟合函数

python 拟合线,拟合函数python拟合线,拟合函数拟合过程绘制散点图及拟合线评估指标R方拟合过程polyfit()函数可以使用最小二乘法将一些点拟合成一条曲线numpy.polyfit(x,y,deg,rcond=None,full=False,w=None,cov=False)#x:要拟合点的横坐标#y:要拟合点的纵坐标#deg:自由度.例如:自由度为2,那么拟合出来的曲线就是二次函数,自由度是3,拟合出来的曲线就是3次函数使用poly1d()函数帮我们拼接方程importnumpya

拟合过程

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§ ==>>2×3 + 3×2 + 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 – 10×2 + 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34859.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注