python之MSE、MAE、RMSE的使用


Posted in Python onFebruary 24, 2020

我就废话不多说啦,直接上代码吧!

target = [1.5, 2.1, 3.3, -4.7, -2.3, 0.75]
prediction = [0.5, 1.5, 2.1, -2.2, 0.1, -0.5]
 
 
error = []
for i in range(len(target)):
 error.append(target[i] - prediction[i])
 
print("Errors: ", error)
print(error)
 
squaredError = []
absError = []
for val in error:
 squaredError.append(val * val)#target-prediction之差平方 
 absError.append(abs(val))#误差绝对值
 
 
print("Square Error: ", squaredError)
print("Absolute Value of Error: ", absError)
 
 
print("MSE = ", sum(squaredError) / len(squaredError))#均方误差MSE
 
 
from math import sqrt
print("RMSE = ", sqrt(sum(squaredError) / len(squaredError)))#均方根误差RMSE
print("MAE = ", sum(absError) / len(absError))#平均绝对误差MAE
 
 
targetDeviation = []
targetMean = sum(target) / len(target)#target平均值
for val in target:
 targetDeviation.append((val - targetMean) * (val - targetMean))
print("Target Variance = ", sum(targetDeviation) / len(targetDeviation))#方差
 
 
print("Target Standard Deviation = ", sqrt(sum(targetDeviation) / len(targetDeviation)))#标准差

补充拓展:回归模型指标:MSE 、 RMSE、 MAE、R2

sklearn调用

# 测试集标签预测
y_predict = lin_reg.predict(X_test)

# 衡量线性回归的MSE 、 RMSE、 MAE、r2
from math import sqrt
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
print("mean_absolute_error:", mean_absolute_error(y_test, y_predict))
print("mean_squared_error:", mean_squared_error(y_test, y_predict))
print("rmse:", sqrt(mean_squared_error(y_test, y_predict)))
print("r2 score:", r2_score(y_test, y_predict))

原生实现

# 测试集标签预测
y_predict = lin_reg.predict(X_test)
# 衡量线性回归的MSE 、 RMSE、 MAE
mse = np.sum((y_test - y_predict) ** 2) / len(y_test)
rmse = sqrt(mse)
mae = np.sum(np.absolute(y_test - y_predict)) / len(y_test)
r2 = 1-mse/ np.var(y_test)
print("mse:",mse," rmse:",rmse," mae:",mae," r2:",r2)

相关公式

MSE

python之MSE、MAE、RMSE的使用

RMSE

python之MSE、MAE、RMSE的使用

MAE

python之MSE、MAE、RMSE的使用

R2

python之MSE、MAE、RMSE的使用

以上这篇python之MSE、MAE、RMSE的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 排列组合之itertools
Mar 20 Python
Windows系统下安装Python的SSH模块教程
Feb 05 Python
分享Python文本生成二维码实例
Jan 06 Python
深入解析Python中的__builtins__内建对象
Jun 21 Python
python数据结构之列表和元组的详解
Sep 23 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
详解python 爬取12306验证码
May 10 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
pygame实现成语填空游戏
Oct 29 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
Python实现日志实时监测的示例详解
Apr 06 Python
Python接口自动化判断元素原理解析
Feb 24 #Python
python使用turtle库绘制奥运五环
Feb 24 #Python
Python如何使用内置库matplotlib绘制折线图
Feb 24 #Python
python中68个内置函数的总结与介绍
Feb 24 #Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 #Python
python实现随机加减法生成器
Feb 24 #Python
Python拼接字符串的7种方式详解
Mar 19 #Python
You might like
PHP 编写大型网站问题集
2010/05/07 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
php json转换相关知识(小结)
2018/12/21 PHP
PHP count()函数讲解
2019/02/03 PHP
表单元素事件 (Form Element Events)
2009/07/17 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
浅谈function(函数)中的动态参数
2017/04/30 Python
Python实现基于POS算法的区块链
2018/08/07 Python
简单谈谈python基本数据类型
2018/09/26 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
项目经理任命书
2014/06/04 职场文书
2015公司年度工作总结
2015/05/14 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技