专栏首页张俊红关于模型预测结果好坏的几个评价指标

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

总第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中有现成的函数可以调用,代码如下:

from sklearn import metrics
mse = metrics.mean_squared_error(y_test, y_pre)

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

import numpy as np
rmse = np.sqrt(mse)

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

from sklearn import metrics
mae = metrics.mean_absolute_error(y_test, y_pre)

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

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实现代码。

本文分享自微信公众号 - 张俊红(zhangjunhong0428),作者:张俊红

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Sklearn参数详解--决策树

    张俊红
  • 决策树-CART算法

    总第80篇 01|前言: 本篇接着上一篇决策树详解,CART是英文“classification and regression tree”的缩写,翻译过来是分...

    张俊红
  • 机器学习模型效果评估

    ? 总第96篇 前言 前面的推文中介绍了几种常用的机器学习算法,每个算法都有各自的优劣势,我们应该选择根据每个算法的优劣势去合理的选择适合我们需求的算法,...

    张俊红
  • 从源码出发浅析 Android TV 的焦点移动原理(下篇)

    焦点(Focus)可以理解为选中态,在 Android TV上起很重要的作用。一个视图控件只有在获得焦点的状态下,才能响应按键的 Click 事件。

    QQ音乐技术团队
  • 教育巨头VIPKID成功的背后···

    ? “技术正在驱动新教育时代来临,孩子们的学习方式、学习思维也正在被技术重塑,将释放出巨大的能量。” VIPKID  全球在线教育平台正在改变着一代人的学习方...

    腾讯智慧教育
  • 亏损7年,找对CTO,VIPKID终于赚钱了

    前不久,VIPKID 宣布,公司单位运营利润 (UE) 连续两个季度为正,90% 的渠道首单实现盈利。VIPKID 表示,公司由此成为国内唯一一家收入在百亿级规...

    深度学习与Python
  • 【重磅干货】Matlab 高频算法交易——从基础到高级算法的完美实现(源码附送,这货太干了!)

    由于内容较多,附上部分代码和截图。具体内容,大家下载后进行学习。 ? ? ? ? ? ? ? ? ? ? ? ?

    量化投资与机器学习微信公众号
  • 发布了一款库(或工具包),如何持续地编写更新日志(ChangeLog)?

    2018-08-05 09:35

    walterlv
  • Visual Studio 代码风格约束

    注意,这里的错误是IDE1006:Naming rule violation,编译时依然能通过(没找到在哪里设置不允许通过编译):

    雪飞鸿
  • SAP Cloud for Customer销售订单External Note的建模细节

    SAP Cloud for Customer的销售订单创建页面里,我们可以给一个订单维护External Note,当这个订单同步到S/4HANA生成对应的生产...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券