KS曲线和ROC曲线

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zx1245773445/article/details/85050432

KS曲线和ROC曲线都是在对二分类模型做评估时的一种直观表现。以前用的和听得多的是ROC曲线,很少会听到KS曲线。只能说偶孤陋寡闻了。下面就聊一聊KS曲线和ROC曲线。

既然要画曲线,我们先看看需要用到哪些数据。因为是二分类,我们就分为正样本和负样本。

TP

真正例,也就是被正确分类的正样本

FP 假正例,也就是被误分为正样本的负样本
TN 真反例,也就是被正确分类的负样本
FN 假反例,也就是被误分为负样本的正样本

所以TP+FP+TN+FN = 样本总数,然后就可以计算TPR和FPR。

TPR 真正例率:也就是说在正样本里面,有多少比例的正样本被分类正确      \frac{TP}{TP+FN}
FPR 假正例率:也就是说在负样本里面,有多少比例的负样本被误分为正样本     \frac{FP}{FP+TN}

有了上面的辅助,我们就进入主题:

1、KS曲线

KS曲线的横坐标为阈值,纵坐标为在不同阈值划分下的TPR与FPR的差值。但是一般我们同时会画出TPR和FPR曲线,这样看着会比较清晰。根据预测的结果的概率值,将样本从大到小排序后,用阈值划分,大于该阈值为正样本,小于该阈值为负样本。然后计算TPR,FPR和它们之间的差值。TPR与FPR之间最大的差值,也就是KS曲线的顶点处就是KS值。阈值为[0,1]之间的数,一般选取(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0)这十个点,也可以将每个样本点作为阈值。KS值可以用来评估模型对正负样本的区分能力。KS值越高表明模型就越好。同时KS曲线受到样本类别不平衡的影响较小。但要注意的是即便正负样本完全分错了,KS值依然会很高。KS值还可以用来选择阈值。

2、ROC曲线

ROC曲线的横坐标为FPR值,横坐标为TPR值。将样本按照预测的概率值从大到小排序,然后选取每个样本值的概率作为阈值,计算出该阈值下的TPR和FPR。用TPR和FPR对,画出曲线。而ROC曲线下面的面积就是AUC值。AUC值可以用来评估模型的性能,该值越大,模型就越好。ROC曲线受到样本类别不平衡影响也较小。因为当类别不平衡时,应accuracy并不准确。假如,当正样本远远大于负样本时,即使我什么都不做,让模型输出的值全为正样本,准确率依然很高。

 

展开阅读全文

没有更多推荐了,返回首页