开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):模型评估和选择(一)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/921/detail/15648
模型评估和选择(一)
内容介绍:
一、前言
二、分类器的评估度量
三、分类器评估的框架
四、orc 曲线
五、模型选择因素
一、前言
对于分类模型,在经过训练之后,需要对分类模型进行评估,主要是评估它的准确度,也就是 accuracy。除了accuracy,是不是还需要一些其它的度量标准呢?
在这里主要介绍用于计算分类器准确率的两种方法,一种是留余法,一种是交叉验证法,此外,还会介绍如何使用 or c曲线来比较多个分配器,并选择比较合适的分类器。
二、分类器的评估度量
首先看一下分类器的评估度量。
1.构建混淆矩阵
要度量分类器的性能,首先的前提是要构建分类器的混淆矩阵。
(1)、以二分类为例,对于二分类问题来说就是它的类别主要有两类。对于二分类问题,它的混淆矩阵是一个2×2的矩阵。每一行代表的是实际的类别,它的每一列代表的是预测的类别。
在2×2的矩阵中,它的向下的对角线,第一行第一个数据方框代表的是叫做 tp,也就是它的真实类别为正事例而预测类别也为正事例的数据对象的个数。,和它对角线的是叫做 tn,指的是它的预测类别和真实类别,都为负事例的数据对象的个数。
向上的对角线代表的是预测错误的数据对象的个数,其中第一行第二个数据代表的是它真实类别为正而被预测为负的数据对象的个数,而第二行第一个数据代表的是它真实类别为负,但是预测为证实力的数据对象的个数。通过构建混淆矩阵之后,就比较方便的计算评估标准。
(2)、m×m的矩阵。在混淆矩阵的基础上,还可以增加一行和一列用来进行统计。对于多分类问题,可以构建一个m×m的矩阵,它的形式和二分类的混淆矩阵是非常类似的。
(3)、举一个例子介绍混淆矩阵。
比如是否买电脑的一个训练集类别,有两种 yes 和 no,每一行代表的是它的真实值为 yes 的数据对象的个数。真实值为 yes 的数据对象又包含两类,一类是被正确预测的,一类是被错误预测的。在增加的一行和一列中,最后的交叉的数目是训练集的数据对象的个数。每一行的个数代表的是某一个真实类别的数据对象的个数,而每一列代表的是预测类别为 yes 的数据对象的个数和预设的类别为 no 的数据对象的个数。
,通过构建这样的混淆矩阵,计算分类器的性能指标就比较方便。
2.分类器的度量标准
首先来看一下分类器的度量标准有哪些,最常用的 accuracy 就是它的准确率。
(1)accuracy
准确率的计算公式是等于(tp+tn)÷all,其中 tp 和 tn 可以看混淆矩阵,代表的是被正确分类的数据对象的个数,除以all就表示的是被正确分类的数据对象的个数,在训练集的所有数据对象的比例。
(2)、Error rate
和 accuracy 对立的一个指标就是比较熟悉的 Error rate,就是用 1 -accuracy,它指的是 (FP+FN)/ALL,FP 和 FN 代表的是被错误分类的数据对象元素的数目。
除了 accuracy 和 Error rate,还有很多其它的度量标准,主要是因为要考虑到数据不平衡的问题,也就是刚才给介绍了不平衡的分类问题,在不平衡的分类问题中,如果还用accuracy和Error rate度量分类器的性能就不太合适,因为如果负事例个数比较多,判断一个正事例的失误并不能引起这些度量指标太大的改变,所以呢,在分类器的度量指标中呢,又增加了一些新的度量。
(3)、Sensitivity
比如Sensitivity,也就是灵敏性,灵敏性的计算公式呢是用 tp÷p,它的含义就是正式里中有多少正式里被正确分类了。这个敏感性又被称之为 recall,就是召回率。
(4)、Specificity
和它所对应的一个指标是叫做 Specificity,就是特效性,特效性的计算公式是 tn÷n 它的含义就是代表的是在负事例中有多少负事例被正确分类。
(5)、精度
此外,还有一个度量标准,就是精度,精度的计算公式就是 tp÷(tp+fp),tp+fp 指的是被分类为正事例的数据元素的个数,而 tp 是被正确分类为正事例的个数。对于精度,它的含义就是在预测为正事例的比例中有多少是真正的正事例。
和它所对应的就是 recall,就是刚才介绍的召回率,就是用 tp÷(tp+fn),它的含义就指的是在我的正事例中有多少真事例被正确的预测。
(6)、F measure
召回率和精度,它们两个指标是相互制约的,为了平衡这两种指标,提出了一种新的分类器的度量指标,把它称之为F-score 或者是 F measure,下图是 F measure 的计算公式,通过调整 β,可以去设置更看重精度,还是更看重召回率。
当这个 β 取一的时候,把它称之为叫做 F1 score,F1 score 就认为这个分类器的精度和它的召回率是同等重要的,它的计算公式就是 2 PR 除以 p+r。
3.度量标准的计算方法
下面通过一个真实的例子介绍这样的一些指标的计算。
首先,这是一个二分类的混淆矩阵,它的类别有两种,一种 yes 和 no。
(1)、那先计算它的 sensitivity,sensitivity 就是指的是在真是事例中有多少真事例被正确分类,就是90÷300。
(2)、特效性就是在负事例中有多少被正确 分类,就是9560÷970。
对于 accuracy 就是所有分类正确的数据元素的数目占全体数据元素的比例,就是90+9560除以一万。
(3)、和 accuracy 对立的错误率就是 error rate,就是等于分类错误的数数据元素的个数占总体数据元素的比率。
(4)、那除此之外呢,还可以计算精度,精度就指的是在所有的判别为正事例的数据元素中有多少是真正的真事例,就使用90÷230。
(5)、而召回率就是指的是在正事例中有多少被正确的判断,就是90÷300跟刚才的灵敏性是一样的。
(6)、最后,还可以计算一下它的F1 score,这个时候F1 score就是等于2PR/(P+R)是33.96。
这就是关于分类器的一些度量标准的计算方法。