前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于模型预测结果好坏的几个评价指标

关于模型预测结果好坏的几个评价指标

作者头像
张俊红
发布2020-09-24 16:13:49
9.7K0
发布2020-09-24 16:13:49
举报
文章被收录于专栏:张俊红张俊红
总第241篇/张俊红

在人工智能算法大数据时代,会有各种各样的预测模型,那怎么来评判一个预测模型的准确度呢?这一篇就来聊聊常用的一些评价指标。

所谓的预测准确度其实就是预测值和实际值之间的相近程度,预测值和实际值之间越接近,说明预测准确度越高。我们用y_{hat}表示模型的预测值,y表示模型的真实值。

1.MSE

MSE是Mean Square Error的缩写,表示均方误差,具体公式如下:

该公式表示每个预测值与实际值之间距离的平方和,值越大,表示误差越大。

2.RMSE

RMSE表示均方根误差,是对MSE的开根号,有点类似方差与标准差的区别。人们对均方差和方差一样没有直观的理解,不知道均方差=100时到底是准确度高还是低。所以就有了均方根误差,可以将均方根误差和实际值之间去比较,就可以对预测准确度有个直观的理解。

比如实际值基本在10左右,均方根误差是5,那么就可以感受到,预测值差不多会有一半的误差。而如果要是看均方误差25的话,可能就不太好理解。

3.MAE

MAE是Mean Absolute Error的缩写,表示平均绝对误差,公式如下:

平均绝对误差就是把均方误差中对预测值与实际值之间的差值求平方改成了求绝对值。与RMSE有点类似。

4.MAPE

MAPE是Mean Absolute Percentage Error的缩写,表示平均绝对百分比误差,公式如下:

MAPE对预测的准确度表示就更直观了,有点类似于增幅的概念。用预测值与实际值之间的差去与实际值相比,看其中的占比有多大。

5.Python实现

是不是想问,那上面这些指标用Python怎么计算呢?往下看:

MSE的计算在Sklearn中有现成的函数可以调用,代码如下:

代码语言:javascript
复制
from sklearn import metrics
mse = metrics.mean_squared_error(y_test, y_pre)

RMSE直接对MSE的结果开根号即可,代码如下:

代码语言:javascript
复制
import numpy as np
rmse = np.sqrt(mse)

MAE的计算在Sklearn中也有现成的函数可以调用,代码如下:

代码语言:javascript
复制
from sklearn import metrics
mae = metrics.mean_absolute_error(y_test, y_pre)

MAPE的计算需要我们自己写代码来实现,不过也比较简单,具体代码如下:

代码语言:javascript
复制
def  mape(y_true, y_pred): 
    return np.mean(np.abs((y_pred - y_true) / y_true)) * 100
mape = mape(y_true, y_pred)

以上就是关于模型准确度常用的评价指标以及Python实现代码。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 俊红的数据分析之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.MSE
  • 2.RMSE
  • 3.MAE
  • 4.MAPE
  • 5.Python实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档