六分类的混淆矩阵图
分类模型的评估指标有混淆矩阵、KS、AUC等指标,而回归模型的评估指标又有许多。那么,怎么理解这些指标呢?这篇文章里,作者针对相关指标做了解析,一起来看看吧。
![](https://p0.ssl.img.360kuai.com/t01db889d062c2f53ea.jpg)
上文介绍了模型构建的5个环节,在模型验证环节,提到了评估模型性能的指标,其中分类模型的评估指标有混淆矩阵、KS、AUC等指标,而回归模型的评估指标有MSE、RMSE、MAE等指标。
今天我们就来详细了解一下分类模型的评估指标。
一、混淆矩阵
混淆矩阵是分类模型评估最基础的指标,我们可以通过混淆矩阵直观的看出分类模型预测准确和不准确的结果数量,进而简单计算出找到了多少比例的坏人(召回率)、找到的坏人里面真正坏人的比例(精确率)、模型判断正确的比例(准确率)等,而AUC、KS等高阶指标的计算也依赖于混淆矩阵的数据。
那么到底什么是混淆矩阵呢?
还是以前文的薅羊毛项目为例,当然薅羊毛项目是多分类模型,我们这里简化成二分类,便于理解。
我们选取了100名测试用户信息,其中有30个薅羊毛用户,我们称之为“坏人”,70个正常的“好人”。模型预测结果分数的范围是0到100分,技术同学给的参考阈值为60分,即60分以上的为“坏人”,60分以下的为“好人”。
输入到模型后得到了100个预测结果,假设模型预测出了40个坏人,在这40个坏人中,有25个预测对了,15个预测错了。
接下来,我们就可以把真实值和模型预测值,通过阈值得到的分类,填入到下表的混淆矩阵中:
![](https://p0.ssl.img.360kuai.com/t01e25c871db1db0c78.jpg)
混淆矩阵中,Positive表示正例,就是我们想要找出来的那个分类,Negative表示负例。结合薅羊毛项目,我们要找的“坏人”就对应了混淆矩阵的正例,“好人”对应了负例。
上表中得到了以下4种情况:
- TP(true positive):true表示模型预测结果是正确的,positive表示模型预测结果为正例(坏人),实际也是正例(坏人),那么TP值就是预测正确的坏人数=25人
- FP(false positive):false表示模型预测结果是错误的,positive表示模型预测结果为正例(坏人),实际上是负例(好人),那么FP值就是被误判为坏人的好人数=15人(被误伤、被误判)
- FN(false negative):false表示模型预测结果是错误的,negative表示模型预测结果为负例(好人),实际上是正例(坏人),那么FN值就是被误判为好人的坏人数=总坏人数30-预测正确坏人数25=5人(漏网之鱼)
- TN(true negative):true表示模型预测结果是正确的,negative表示模型预测结果为负例(好人),实际也是负例(好人),那么TN值就是预测正确的好人数=总好人数70-被误伤的好人数15=55人
所以,T和F代表模型预测结果的对错,P和N代表模型预测结果是正例还是负例。
理论上,我们期望模型的TP值尽可能大,同时FP值尽可能小,就是尽可能多的找出真坏人,同时尽可能少的误伤好人。
以上就是混淆矩阵的简单介绍,我们会发现混淆矩阵中都是具体的数值,而数值是无法直接评估模型的好坏的,所以我们会在此基础上,延伸出以比率来形容模型好坏的多项指标。
二、混淆矩阵的评估指标:准确率、精确率、召回率、F1
- 为了更直观的评估模型,我们基于混淆矩阵延伸出了以下指标:准确率(Accuracy):表示从全局的角度,模型分类正确的比率。模型正确分类人员(TP+TN)占全部人员(TP+TN+FP+FN)的比例,准确率=(25+55)/(25+55+15+5)=80%
- 精确率(Precision):表示模型预测精度的指标。模型找出的总坏人数(TP+FP)中,真坏人数(TP)所占的比例,精确率=25/(25+15)=62.5%
- 召回率(Recall):也叫查全率,是判断模型预测广度的指标。模型找出的真坏人数(TP)占实际总坏人数(TP+FN)的比例,召回率=25/(25+5)=83.33%
准确率可以从全局的角度描述模型正确分类的能力,但在样本数据不均衡的情况下,无法区分TP和TN的实际贡献分别是多少,全局的准确率并没有很强的“说服力”。
精确率用来描述模型识别的精确度,在扫脸、指纹识别等确定性要求较高的场景下,“宁缺毋滥”,可以侧重考虑精确率的指标。
召回率用来描述模型识别的广度,在薅羊毛项目的场景下,我们就要求“宁可错杀一千,不可放过一个”,追求“除恶务尽”。
需要注意的是,精确率和召回率大概率是成反比的,想提升精确率,那么召回率就可能受影响,反之亦然。所以我们要结合具体的业务场景,找到两个指标的平衡点。
而F1值就是用来综合反映精确率和召回率的指标,F1=(2 x 精确率 x 召回率)/ (精确率 + 召回率),该值越大,说明精确率和召回率的综合表现越好。
三、构建KS和AUC的基础指标:TPR、FPR
KS和AUC是分类模型中常用的两个综合性指标,计算它们依然需要依赖混淆矩阵的基础指标:TPR和FPR。
- TPR(True Positive Rate):也叫真正率、真阳率、灵敏度(Sensitivity),用来评估模型正确预测的能力。也就是模型找到真坏人(TP)占实际总坏人数(TP+FN)的比例,即 TP/(TP+FN),细心的朋友可能会注意到,这个公式就是召回率的公式,所以TPR也可以叫做召回率。
- FPR(False Positive Rate):也叫假正率、假阳率,用来评估模型误伤好人的比率。也就是被模型误伤的好人(FP)占实际总好人数(FP+TN)的比例,即FP/(FP+TN),也可以叫做误伤率,更好理解一些。
四、绘制ROC曲线&计算AUC指标
构建模型的目的,肯定是期望尽可能多的找出真坏人,同时尽可能少的误伤好人,也就是TPR越高越好、FPR越低越好。
ROC曲线就是用来表达TPR和FPR之间关系的曲线,接下来我们来看一下ROC曲线的绘制过程。
刚才得到混淆矩阵数据的时候,技术同学给了一个参考的阈值60分,我们根据阈值计算出了混淆矩阵的各项指标。
假设我们没有确定的阈值,我们可以每10分进行分段(0、10、20、…100),逐一作为阈值,来分别计算TPR和FPR。那么情况大概有以下三类
- 阈值为0分时,即所有人的分数都超过阈值,所有人都被判断为好人,此时没有找到任何坏人,即TPR为0;没有任何好人被误判为坏人,所以FPR为0
- 阈值为100分时,所有人都被判断为坏人,此时所有坏人全部落网,即TPR=1;所有好人全部被误判为坏人,即FPR=1
- 阈值为0到100分之间的分数时,每一个阈值都会得到对应的TPR和FPR值,比如TPR=0.7,FPR=0.4
我们依次把阈值依次定位0、10、20,一直到100,就会得到一串TPR和FPR数据的集合,然后我们把FPR作为横轴,TPR作为纵轴,把这些点在坐标系中连起来,就可以得到一条ROC曲线:
![](https://p0.ssl.img.360kuai.com/t0166d6464aff9d26fe.jpg)
图中蓝色的曲线就是ROC曲线,图中的虚线是随机线,随机线上每个点TPR和FPR的值都是一样的,和瞎猜的效果差不多,所以我们以随机线为基准,ROC曲线越贴近于随机线说明效果越差,越贴近于左上方,说明效果越好,因为这意味着TPR更大,FPR更小。
我们可以把两个ROC曲线放在一个坐标系内做比较,确实可以看出来哪个模型更好,但是图像化的比较方式依然不够直观,所以我们需要想办法将ROC曲线转化成一个数字,方便沟通和比较。
这个值就是AUC指标,AUC指标其实就是ROC曲线右下方和横坐标轴闭合起来的面积大小,这个面积越大,意味着越靠近左上方,召回率越大且误伤率越小,效果也越好。
五、KS指标
KS曲线与ROC曲线非常相像,二者区别如下:
- ROC曲线的横轴与纵轴分别是混淆矩阵中的FPR与TPR。而线上的每一个点,都是在不同阈值下得到的FPR与TPR的集合
- KS曲线就是把ROC曲线由原先的一条曲线拆解成了两条曲线,原先ROC的横轴(FPR)与纵轴(TPR)都在KS中变成了纵轴,而横轴变成了不同的阈值
这样我们就可以得到如下的KS曲线:
![](https://p0.ssl.img.360kuai.com/t01cf496b2df55b2586.jpg)
我们简单了解一下纵轴的两个指标:
- 灵敏度(Sensitivity),前面提到过,也就是TPR,对应图中的黄色曲线
- 特异性(Specificity),也称为真反例率(True Negative Rate,TNR),是真反例占所有实际为反例的比例,其计算公式为: Specificity = TN / (TN + FP),而FPR=FP/(FP+TN),所以FPR=1-Specificity,对应图中的蓝色曲线
总的来说,KS曲线是两条线,其横轴是阈值,纵轴是TPR与FPR。两条曲线之间之间相距最远的地方对应的阈值,就是最能划分模型的阈值。
而KS值是MAX(TPR – FPR),即两曲线相距最远的距离。
不同的产品,合适的KS值范围都不一样,需要结合实际情况去摸索。
一旦确定合适的KS值范围之后,如果模型的KS值过低,说明模型欠拟合,基本不可用,但KS值非常高也不一定是好事情,我们可能需要分析原因,判断是否是因为数据问题导致的异常情况。
总结本文介绍了分类模型常用的评估指标,让大家对模型评估有了一个初步的概念。
下篇文章,我会详细介绍回归模型的评估指标,敬请期待。
本文由 @AI小当家 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
","gnid":"9ac121013d5559e24","img_data":[{"flag":2,"img":[{"desc":"","height":"420","title":"","url":"https://p0.ssl.img.360kuai.com/t01db889d062c2f53ea.jpg","width":"900"},{"desc":"","height":"159","title":"","url":"https://p0.ssl.img.360kuai.com/t01e25c871db1db0c78.jpg","width":"755"},{"desc":"","height":"429","title":"","url":"https://p0.ssl.img.360kuai.com/t0166d6464aff9d26fe.jpg","width":"423"},{"desc":"","height":"258","title":"","url":"https://p0.ssl.img.360kuai.com/t01cf496b2df55b2586.jpg","width":"391"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"cache","pub_time":1703812980000,"pure":"","rawurl":"http://zm.news.so.com/820f1be44a3d0eb3b703b9972b2b3db9","redirect":0,"rptid":"6a2fc09f37d2733c","rss_ext":[],"s":"t","src":"人人都是产品经理","tag":[],"title":"AI分类模型评估指标:混淆矩阵、KS、AUC
华码斩2379《中国图书馆图书分类法》的二十二个分类中,为什么没有L,M,W和Y呢?为什么留出的是这几个字母而并非其他字母?(请不要简单地复制粘贴那些并不能... -
欧峰果18867012282 ______[答案] 中图法编制说明是用汉语拼音字母表示, 不用L,避免与E认读混淆, M与N认读混淆, W与U认读混淆, Y与R认读混淆, 而我们实际运用中图法时都以英文字母认读, 所以中图法大类类目中没有LMWY.
华码斩2379比较数组的大小.分别比较两个数组对应元素的大小,若a数组大于b数组对应元素的个数最多,则a>b,并统计两组大于、等于、小于的个数.用C语言写 -
欧峰果18867012282 ______[答案] #include #define MAX 200 void main() { \x09char a[MAX],b[MAX]; \x09scanf("%s %s",a,b); \x09int l1 = strlen( a ); \x09int l2 = strlen( b ); \x09if( l1 > l2 ) \x09\x09printf("a>b and the number is %d\n",l1-l2); \x09else if( l1 \x09\x09printf("a
华码斩2379微步矩阵骗局揭秘,你有哪些问题? - 百度问一问
欧峰果18867012282 ______ 微步矩阵是一种传销模式,通常以高额回报和招募下线为主要手段,吸引人们加入并投资.然而,该模式往往无法持续,只有少数人能够真正获得回报,而大部分人最终会亏损.因此,微步矩阵被认为是一种骗局.关于微步矩阵骗局,你可能会有以下一些问题:1. 微步矩阵是如何吸引人们加入的?2. 为什么微步矩阵被认为是骗局?3. 微步矩阵的运作原理是什么?4. 微步矩阵的参与者可能会扒哪面临哪些风险?蔽此乎5. 如何识别和避免微步矩阵骗局?请注意,以上问题只是可能涉及的一些方面,具体情况可能因具体案件而异.如果你有更具体的问题,可宏悉以随时提问.
华码斩2379两个矩阵相乘,从左向右还是右向左? -
欧峰果18867012282 ______ 三个矩阵相乘从左向右算和从右算起都可以 据结合律(AB)C=A(BC),先算前两个与李脊先算后两个都可以,只要矩阵的前后次序保持猜搭不变即可. 矩阵的数乘满足以下运算律: 矩阵的加减法和矩阵的数乘合称矩阵的线性运算. 扩展资料: 矩阵的乘法满足以下运算律: 结合律: 左分配律: 右分配律: 矩阵乘法不满足交换律. n*n的方块矩阵A的一个特征值和对应特征向量是满足 的标量以及非零向量 .其中v为特征向量, 哪兆渗为特征值. A的所有特征值的全体,叫做A的谱,记为 .矩阵的特征值和特征向量可以揭示线性变换的深层特性 .
华码斩2379求证奇数阶反对称行列式为零 求图解 -
欧峰果18867012282 ______[答案] A^T=-A 两边取行列式 detA=(-1)^ndetA (detA就是A的行列式,另外detkA=k^ndetA) n为奇数(-1)^n=-1 故detA=-detA
华码斩2379副对角行列式是什么样的,求图,得数, -
欧峰果18867012282 ______[答案] 0 0 ...0 a1 0 0 ...a2 0 . 0 an-1 ...0 0 an 0 ...0 0 行列式等于 (-1)^[n(n-1)/2] a1a2...an
华码斩2379数据结构题.假定无向图G有6个结点和9条边,.(1) 画出G的邻接距阵和邻接表(2) 根据邻接表从顶点3假定无向图G有6个结点和9条边,并依次输入这9... -
欧峰果18867012282 ______[答案] #include
华码斩2379envi监督分类后,进行混淆矩阵精度验证,除了总体精度和kappa系数,怎么看各分类的精度大小?? -
欧峰果18867012282 ______ 如下,还有生产者精度和用户精度 Class Reference Classified Number Producers User...
华码斩2379混淆矩阵的举例
欧峰果18867012282 ______ 如有150个样本数据,这些数据分成3类,每类50个.分类结束后得到的混淆矩阵为: 预测类1 类2 类3 实际 类1 43 5 2 类2 2 45 3 类3 0 1 49 每一行之和为50,表示50个样本,第一行说明类1的50个样本有43个分类正确,5个错分为类2,2个错分为类3