python计算均方根误差_计算python中非线性曲线拟合的确定系数(R2)和均方根误差(RMSE)...

如何计算python中非线性曲线拟合的确定系数(R2)和均方根误差(RMSE).以下代码执行直到曲线拟合.那么如何计算R2和RMSE?

import numpy as np

import matplotlib.pyplot as plt

from scipy.optimize import curve_fit

def func(x, a, b, c):

return a * np.exp(-b * x) + c

x = np.linspace(0,4,50)

y = func(x, 2.5, 1.3, 0.5)

yn = y + 0.2*np.random.normal(size=len(x))

popt, pcov = curve_fit(func, x, yn)

plt.figure()

plt.plot(x, yn, 'ko', label="Original Noised Data")

plt.plot(x, func(x, *popt), 'r-', label="Fitted Curve")

plt.legend()

plt.show()

解决方法:

你可以这样做:

print "Mean Squared Error: ", np.mean((y-func(x, *popt))**2)

ss_res = np.dot((yn - func(x, *popt)),(yn - func(x, *popt)))

ymean = np.mean(yn)

ss_tot = np.dot((yn-ymean),(yn-ymean))

print "Mean R :", 1-ss_res/ss_tot

标签:statsmodels,python,numpy,scipy,matplotlib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值