当我们训练好一个机器学习模型之后,必然会对模型的综合性能进行评估,针对分类、回归、聚类等不同类型的算法模型,可以采用相关的评价指标,例如分类模型的Accuracy、KS等;回归模型的MAE、MSE等;聚类模型的SSE、HE等。对于以上不同维度的模型评估指标,虽然与模型的具体类型直接相关,而且从概念理解与数据分析上有较大区别,但模型综合性能的好坏程度与优劣对比,本质上还是模型的误差表现。因此,模型误差的指标是我们最需要明确的重点,这也是为什么在模型训练阶段需要重点关注模型训练误差的核心思想,毕竟误差是模型学习能力与泛化能力的直接体现。
模型误差指标是目标变量真实值与预测值的客观结果,对于回归模型是最能体现误差性能的算法模型。针对机器学习算法的回归场景,最熟悉的莫过于线性回归模型,而评价其综合效果的指标常见的有R2、MAE、MSE、MAPE等。其实,若需更全面量化并评估模型的误差程度,可以扩展到更多细化维度。本文围绕以上实际场景,给各位小伙伴全面梳理介绍下模型误差指标的多元化实现过程,共包含20个维度的误差指标,除了相对较为熟悉的MAE(平均绝对误差)、MSE(均方误差)等之外,还包括MADE(中位数绝对误差)、NAE(标准化绝对误差)、RAE(相对绝对值误差)、SMAPE(对称平均绝对百分比误差)等。
为了便于大家对模型多维误差指标的深入理解与全面掌握,我们将结合具体的实例样本数据,来拟合训练一个线性回归模型,然后通过Python代码来依次实现各个误差指标的加工过程,最后汇总各模型指标的分析结果,来综合评价模型的拟合训练效果与综合学习能力。

1、样本数据介绍
本文选取的测试数据包含5000条样本和8个字段,具体样例如图1所示。其中。ID为样本主键;X1~X6为特征变量,取值类型均为数值型;Y为目标变量,分布类型为连续型,满足回归模型的标签条件,我们将采用传统机器学习算法线性回归LinR来建立回归模型。

                                                             图1 样本数据样例

建模样本数据的简单描述性统计分析如图2所示,详细展示了特征变量的count(非缺失值数量)、mean(平均值)、max(最大值)、min(最小值)、std(标准差)、50%(中位数)等常见统计指标。通过指标count结果可知,特征X1~X6均存在不同程度的缺失情况,例如字段X1的缺失率为(5000-4449)/5000=11.02%,X2的缺失率为(5000-4990)/5000=0.2%。

图2 特征分布描述

由于线性回归算法在模型训练过程中不能直接处理缺失值,因此在数据预处理环节需要对特征变量的缺失值进行处理,由于各字段的类分布型均为连续型,可以采用常规的平均值方法来进行填充,具体实现过程如图3所示。为了验证特征的缺失值得到有效处理,可以通过isnull().sum()函数来查看各字段的缺失情况。

图3 特征缺失值处理

2、回归模型建立
当建模样本完成数据预处理后,我们首先来训练一个完整的线性回归模型,算法参数均采用默认值,然后采用模型predict()来输出样本的预测结果pred_Y,最后通过样本的真实标签data_Y与预测标签pred_Y,导出我们日常建立回归模型时接触最多的几个评价指标,例如MAE、MAPE、MSE、RMSE等。以上模型训练、模型评估的具体实现过程分别如图4、图5所示,

图4 模型拟合训练



图5 模型预测评估

通过上图模型评估输出的模型性能指标结果可知,MAE=0.1150、MAPE=0.2684、MSE=0.0256、RMSE=0.1599,当前模型的整体效果表现尚可。

3、模型误差指标
上文的数据预处理、模型训练、模型预测等流程,主要目的是为了接下来全面分析模型误差指标做准备的。我们先将模型的20大误差评价指标进行一个全貌展示,具体如图6所示。

图6 模型误差指标概览

对于以上模型的各误差指标,取值越接近于0说明模型的准确效果越好。虽然针对图6的少数几个指标(MAE、MSE等)是我们日常建模习惯采用的,但对于模型性能的综合评估,本质上是可以扩展更多评价思路与实现方法,显然这对模型开发及其应用是非常有意义的,接下来我们围绕图6的指标列表,通过Python代码来依次实现。由于指标较多代码零碎,我们将各指标的实现过程统一展现,具体如图7~图11。

图7 模型误差指标实现1


图8 模型误差指标实现2


图9 模型误差指标实现3


图10 模型误差指标实现4


图11 模型误差指标实现5

在以上20大误差指标体系中,其中SE(Simple Error,样本误差)、SPE(Simple Percentage Error,样本误差百分比)这2个维度为样本个体指标,也就是当前测试数据有多少样本,对应输出相同数量的误差数值,体现的是单个样本数据的误差情况。对于其他18个维度的误差指标,均为模型总体评价指标,输出结果是单一数值,直接体现模型的整体性能。针对以上18个综合型误差指标,我们可以采用excel小工具,通过可视化形式对模型各误差指标进行展现,这里选取部分指标(MAE、MAPE、MSE、RMSE、NRMSE、MDAE、MDAPE、SMAPE、SMDAPE、MAAPE)作为样例,其分布结果如图12所示。

图12 模型误差指标可视化

对于模型的综合性能评估,在实践中很难保证所有误差指标均表现很好,毕竟每个指标量化的信息维度相互有所区别,当然理想结果是各个误差指标的结果取值较低,但实际情况往往是当多数误差指标表现较低,便可说明模型的整体效果表现尚可,尤其是MAE、MAPE、MSE、RMSE等几个常用指标。当然,降低模型的训练误差,是我们希望得到的最终结果,但这个过程属于模型调优的相关内容,具体可以通过参数优化、特征工程等重要环节来完成。
综合以上内容,我们围绕线性回归模型,通过具体数据实例完成了模型的构建过程,并重点介绍了模型20大误差指标的实现过程与分布效果,这对于全面评价模型的综合性能是非常有意义的。为了便于大家对模型多维度误差指标的进一步理解与熟悉,本文额外附带了与以上内容同步的Python代码与样本数据,供大家参考学习,详情请移至知识星球查看相关内容。

~原创文章

风控模型别只会KS、AUC了,来看看其他衡量模型好坏的一些重要指标吧|含实操相关推荐

  1. 小微数字风控必学-冷启动开发风险评分(含实操)

    新产品上线,往往只能使用规则进行审批与授信.能不能拦住风险是一回事,老板报以不信任的目光更使得风控从业人员倍受挫折.我们提供一个迁移学习风险评分开发方案,尝试在冷启动阶段就完成风险评分的开发. 假定某 ...

  2. 风控人需知:信贷风险流程中的决策矩阵与实操

    风控决策流程是信贷风控的主心脉络,这套风控框架的设计往大了说决定了后续风控的种种流程,往小了决定了后续策略调优的各种细节,关于决策流程以往的文章,相关有: <基于串行规则流的黑名单跟准入> ...

  3. 分类模型的ROC曲线、AUC值、GINI系数、Lift、Gain、KS指标分别是什么?计算公式是什么?有什么意义?

    分类模型的ROC曲线.AUC值.GINI系数.Lift.Gain.KS指标分别是什么?计算公式是什么?有什么意义? 目录

  4. 构建风控评分卡模型介绍(WOE/KS/ROC)

    完整代码请关注公众号回复"评分卡"获得. 有酒有风 什么是评分卡(信贷场景中) 以分数的形式来衡量风险几率的一种手段 对未来一段时间内违约/逾期/失联概率的预测 通常评分越高越安全 ...

  5. 一份风控模型性能提升秘籍奉上|附视频+实操(详版)

    最近,番茄星球课堂为大家带来了一次主题为"信贷风控拒绝演绎实战"的直播课盛宴,内容充实,干货满满! 课程分为两次专题展开,分别为<拒绝推论场景描述.方法介绍与案例分享> ...

  6. 如何浅显得理解风控模型中的特征筛选|附实操细节(全)

    今天我们综合了星球同学的一些需求,给大家梳理了这样一篇风控建模中特征筛选,希望对所有的风控人员在模型开发上都有所启发. 本文,我们会跟大家介绍特征选择的内容,包括其中的重点问题跟注意的细节. 因为完整 ...

  7. 模型评估——ROC、KS

    无论是利用模型对信用申请人进行违约识别,还是对授信申请人进行逾期识别--在各种各样的统计建模中,永远必不可少的一步是对模型的评价,这样我们就可以根据模型评价指标的取值高低,来决定选取哪个模型.本篇主要 ...

  8. 模型评估【PR|ROC|AUC】

    这里主要讲的是对分类模型的评估. 1.准确率(Accuracy) 准确率的定义是:[分类正确的样本] / [总样本个数],其中分类正确的样本是不分正负样本的 优点:简单粗暴 缺点:当正负样本分布不均衡 ...

  9. 机器学习(16)ROC曲线与AUC指标(癌症分类的模型检测--AUC指标)

    目录 一.基础理论 0.引言 1.TPR与FPR 1.TPR(召回率) 2.FPR 2.ROC曲线 3.AUC指标 二.癌症分类的模型检测(AUC指标) 1.正反例转1.0 2.计算AUC指标 总代码 ...

最新文章

  1. 【设置字符集】Win7 64位系统安装MySQL5.5.21图解教程
  2. 利用fiddler将本地网页放到某个域下
  3. 学习笔记(16):Python网络编程并发编程-开启子进程的两种方式
  4. Celery的日志配置及日志按天切分
  5. 【京东科技】视觉基础研究部研究型实习生招聘
  6. Redis 服务器安装
  7. 矩阵分解(matrix factorization)
  8. 《Windows游戏编程大师技巧》(第二版)
  9. 360路由器v2刷第三方固件_斐讯K2P MTK版简单几步刷入breed教程,附刷第三方固件方法...
  10. 【lol版】2022年最新Java学习路线图(来自动力节点)
  11. HTML+CSS知识点总结(一)
  12. 猿人学第5题,hook任意cookie被设置的瞬间
  13. 创建模式之工厂、工厂方法、抽象工厂与建造者(builder)
  14. GNSS 周跳探测方法 之 TurboEdit
  15. 生鲜电商纷纷传上市,但赛道并不性感
  16. 一个完整的App应该具备哪些功能
  17. Python量化交易平台开发教程系列0-引言
  18. 从GNU/Linux看国产操作系统的安全可控性
  19. stp实验心得_STP 实验
  20. 视频教程-2020年软考系统集成项目管理工程师应用技术软考视频教程-软考

热门文章

  1. matlab:lsqcurvefit
  2. 嵌入式Linux使用TFT屏幕:使用Kernel 5.18自带的panel-mipi-dbi模块点亮ST7789V屏幕
  3. STM32使用ESP8266接入机智云点亮LED教程
  4. springboot+jsp+ssm企业员工专门体检预约管理系统
  5. 导航定位系统的原理解析(一个小白写给另一个小白)
  6. CentOS 7 重启 Failed to mount /sysroot
  7. java掌握哪些技能就能工作,成长路线图
  8. cf gym/103821 (Aleppo + HAIST + SVU + Private) CPC 2022
  9. github头像生成器
  10. 移动端实现图片压缩上传