R语言数据挖掘实践——模型评估相关概念解析

R语言数据挖掘实践——模型评估相关概念解析

在介绍Rattle程序包的具体使用之前,先简要介绍一些相关概念

误判率

用于评估模型性能的最简便的方法便是分析模型的误判率。误判率的具体计算时根据模型预测结果同真实值之间的差别而计算出来的。我们可以简单地通过用误判的样本个数除以样本总数而得到相应的模型误判率。

正确/错误的肯定判断、正确/错误的否定判断

这4个概念来自于模型的混淆矩阵,但这4个概念的具体应用却不仅仅局限于模型的混淆矩阵。

在案例的天气预测模型中,如果模型预测为“下雨”并且明天确实下雨了,那么这便是一个正确的肯定判断;同理,如果模型预测同第二天的真实情况都为“不下雨”,那么这便是一个正确的否定判断。另一方便,如果模型预测为“下雨”,然而真实的情况是第二天没有下雨,那么我们将这个预测结果称为错误的肯定判断;同理,如果预测结果为“不下雨”,而真实结果是下雨了,那么我们称之为错误的否定判断。

其实,如果只是探究模型的误判率,并不需要这么具体的划分,但是之所以进行这样具体的划分,也是有其重要意义的。

比如说在Rattle天气数据集中,模型发生“错误肯定判断”和“错误否定判断”对判断结果使用者所造成的损失是显著不同的。一个“错误的肯定判断”也就是说模型预测明天下雨然而明天没有下雨,那么这样会产生的结果是我们带了伞却没用到,这对我们来说其实是一个非常小的损失;但是如果模型发生的是一个“错误的否定判断”,也就是说模型预测明天不下雨但是明天却下雨了,那么我们就会被困在雨中或者是将衣服弄湿,这样的损失相对于错误的肯定判断来说是严重的。

再比如,更为引人关注的医疗误诊问题,一个错误的肯定判断(将健康者诊断为患者)所产生的影响(财力、精神损失)将会显著小于一个错误的否定判断(将患者诊断为健康者)所产生的影响(延误治疗而导致病情加重甚至死亡)。

至于到底是错误的肯定判断产生的不利影响较大,还是错误的否定判断产生的不利影响较大,这个问题主要取决于模型的具体应用环境。在通常情况下,我们都会比较注重正确的肯定判断以及错误的肯定判断。

精确度、敏感度及特异性

模型的精确度是指正确的肯定判断与全部肯定判断的比值,模型的精确度主要是用于评测模型针对肯定的预测结果的准确度。

模型的敏感度是指模型正确的肯定判断与真实的肯定结果的比率,模型的敏感度主要用于测评模型具体能够鉴别出实际样本的肯定结果中有多少个真实结果。

模型的特异性主要是用于测评模型具体能够鉴别出实际样本的否定结果中有多少个否定结果,该值刚好与模型的敏感度测评的范围相异。


分享到:


相關文章: