深度学习模型评价指标详解:RMSE、MSE、MAE、MAPE与SMAPE
创作时间:
作者:
@小白创作中心
深度学习模型评价指标详解:RMSE、MSE、MAE、MAPE与SMAPE
引用
CSDN
1.
https://blog.csdn.net/qq_41300595/article/details/137839191
在深度学习模型的评估中,选择合适的评价指标至关重要。本文将介绍几种常用的回归模型评价指标,包括均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)、平均绝对百分比误差(MAPE)以及对称平均绝对百分比误差(SMAPE)。通过这些指标,我们可以更全面地了解模型的预测性能。
均方误差(MSE)
均方误差(Mean Square Error)是衡量预测值与真实值之间差异的常用指标。其计算公式如下:
MSE的取值范围为[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;误差越大,该值越大。
均方根误差(RMSE)
均方根误差(Root Mean Square Error)是MSE的平方根,这样可以使数量级更加直观。例如,RMSE=10表示回归效果相比真实值平均相差10。其计算公式如下:
RMSE的取值范围同样为[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;误差越大,该值越大。
平均绝对百分比误差(MAPE)
平均绝对百分比误差(Mean Absolute Percentage Error)是衡量预测值与真实值之间相对误差的指标。其计算公式如下:
MAPE的取值范围为[0,+∞),MAPE为0%表示完美模型,MAPE大于100%则表示劣质模型。需要注意的是,当真实值有数据等于0时,存在分母0除问题,该公式不可用。
对称平均绝对百分比误差(SMAPE)
对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)是对MAPE的改进,可以避免真实值为0时的分母0除问题。其计算公式如下:
需要注意的是,当真实值和预测值都等于0时,仍然存在分母0除问题。
Python代码实现
以下是上述评价指标的Python代码实现:
# coding=utf-8
import numpy as np
from sklearn import metrics
# MAPE和SMAPE需要自己实现
def mape(y_true, y_pred):
return np.mean(np.abs((y_pred - y_true) / y_true)) * 100
def smape(y_true, y_pred):
return 2.0 * np.mean(np.abs(y_pred - y_true) / (np.abs(y_pred) + np.abs(y_true))) * 100
y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])
y_pred = np.array([1.0, 4.5, 3.5, 5.0, 8.0, 4.5, 1.0])
# MSE
print(metrics.mean_squared_error(y_true, y_pred)) # 8.107142857142858
# RMSE
print(np.sqrt(metrics.mean_squared_error(y_true, y_pred))) # 2.847304489713536
# MAE
print(metrics.mean_absolute_error(y_true, y_pred)) # 1.9285714285714286
# MAPE
print(mape(y_true, y_pred)) # 76.07142857142858,即76%
# SMAPE
print(smape(y_true, y_pred)) # 57.76942355889724,即58%
通过以上代码,我们可以方便地计算各种评价指标,从而更好地评估深度学习模型的性能。
热门推荐
屋顶防水的正确施工方法,详细施工步骤
如何提高团队自觉
苏轼《前赤壁赋》的赏析
经商必背36计
一篇文章看懂广义相对论:爱因斯坦如何构建时空弯曲理论?
抗战烽火中,谁在用生命守护国宝
从一份报告看NASA困境
秃顶植发手术要不要住院?
学爵士舞与古典舞气质
日本卫生间的人性化设计:智能马桶、四式分离与安全细节全面解析
肺结节吃什么食物散结节最快最有效果
家庭应该选用哪一种灭火器?
美国工资标准:影响因素与地区差异
网络游戏中的网络霸凌:识别、预防与应对指南
维生素D是补钙的"黄金拍档",如何补才合适?
从悬疑到治愈:近期热播国产剧的多元魅力解析
堵姓的起源:从郑国大夫到以地为姓
志愿者经历如何体现
雨水渗透渠:海绵城市建设中的重要设施
咽炎能吃板蓝根颗粒吗?
C语言编程计算100以内质数相加的方法详解
胸锁乳突肌紧张?4 个方法来松解
如何成功孵化小鸡(掌握关键技巧,让孵化过程变得简单易行)
种植空心菜需要什么肥料含量的土壤?
空心菜几天发芽出苗
存在多项信披违规事项 ST鹏博士遭3400万“罚单”丨一周市场观察
温州医科大学团队揭示超高度近视致病新机制
DNS映射详解:域名到IP地址的转换过程
主机名与IP地址,它们是什么,有何区别?
语音算法工程师要学什么