文章概要
本文主要是在学习后的记录,理解与总结,主要是关于分类算法的指标与相关代码等。
关键词:分类算法 预测指标 ROC曲线 KS曲线 赛题流程 模型与算法
一. 学习知识点概要
二.学习内容
1.混淆矩阵(也称误差矩阵)
表示精度评价的一种标准格式,用n行n列的矩阵来表示。每一列代表了预测类别,每一行代表了数据的真实归属类别,每一列中的数值表示真实数据被预测为该类的数目。
真正类TP:一个实例为正类并被预测为正类
真负类TN:一个实例为负类并被预测为负类
假负类FN:一个实例为正类并被预测为负类
假正类FP:一个实例为负类并被预测为正类
真正例率(TPR):在所有实际为正例的样本中,被预测为正例的比率
假正例率(FPR):在所有实际为负例的样本中,被预测为正例的比率
2.预测指标
(1)准确率(不适合样本不平均的情况)
预测正确的结果占总数的概率
(2)精确率
预测为正的样本中,实际为正类的样本所占的概率
(3)召回率
为正例的样本中,被预测为正例的样本占总数的概率
注:召回率与精确率的区别在于召回率针对的是原本为正例的样本,而精确率是被预测为正例后的样本。
(4)F值
对precision和recall的加权调和平均,调和召回率与精确率的矛盾
,当a=1时,
F1综合了P和R的结果,F1较高时,说明实验方法比较有效
(5)AUC值
定义为 ROC曲线 下与坐标轴围成的面积,取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。
计算AUC的方法
方法1:AUC为ROC曲线下的面积,那我们直接极端面积可得。面积为一个个小的梯形面积之和。计算的精度与阈值的精度有关。
方法2:计算正样本Score大于负样本Score的概率。取N ∗ M ( N 为 正 样 本 数 , M 为 负 样 本 数 ) 个二元组,比较Score,最后得到AUC。
方法3:首先把所有样本按照score排序(从小到大或从大到小),依次用rank表示他们,如,按从大到小排序的时候,最大score的样本序号值rank=n,其中n = M + N ,其次是n − 1 。 其中,∑ Mrank 表示所有正样本的序号值rank之和。
(6)ROC曲线
ROC空间将假正例率(FPR)定义为 X 轴,真正例率(TPR)定义为 Y 轴。
TPR=1, FPR=0,即图中(0,1)点。故ROC曲线越靠拢(0,1)点,即越偏离45度对角线越好。
(TPR=0,FPR=0):把每个实例都预测为负类的模型
(TPR=1,FPR=1):把每个实例都预测为正类的模型
(TPR=1,FPR=0):理想模型,全部预测正确
(TPR=0,FPR=1):最差模型,全部预测错误
(6)P-R曲线
描述精确率和召回率变化,是准确率和召回率的点连成的线
(7)KS曲线
真正例率和假正例率都作为纵轴,横轴则由选定的阈值来充当。
𝐾𝑆=𝑚𝑎𝑥(𝑇𝑃𝑅−𝐹𝑃𝑅)
KS值越大,模型的区分能力越强,但是也不是越大模型效果就越好,如果KS过大,模型可能存在异常,所以当KS值过高可能需要检查模型是否过拟合。
KS(%) | 好坏区分能力 |
---|---|
20以下 | 不建议采用 |
20-40 | 较好 |
41-50 | 良好 |
51-60 | 很强 |
61-75 | 非常强 |
75以上 | 过于高,疑似存在问题 |
三、学习问题与解答
1.为什么使用ROC曲线呢?
因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。
2.KS曲线与ROC曲线的关系?
实际上ks值可以在ROC曲线上找到,如下图七,在roc曲线上做斜率为1的切线,则切线的截距就是ks值。
四、学习思考与总结
在真正做数据分析时,应以实际事例为基础,选择适当的评价指标,有时也可运用多个指标相结合以此得出更加准确的结果,例如ROC与AUC曲线。
引用:【1】https://blog.csdn.net/weixin_42382211/article/details/81170029
【2】https://blog.csdn.net/stupidautofan/article/details/79583531
【3】https://blog.csdn.net/qq_41994006/article/details/86487912
【4】https://blog.csdn.net/weixin_35869861/article/details/112469112