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)
使用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方
correlation = np.corrcoef(y, y2)[0,1] #相关系数
correlation**2 #R方
poly1d函数自带的输出结果
p = np.poly1d(parameter,variable='x')
print(p)
参考链接:
https:///fffsolomon/article/details/104831050
https://www.cnblogs.com/zhouzhe-blog/p/9621679.html
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务