下面使用 逻辑回归来解释两者之间的差别。
假设你有两种类型的老鼠,肥胖(蓝色),不肥胖(红色)。
这只老鼠不是肥胖的,虽然它比较重,
这只老鼠不算重,但它是肥胖的。
现在使用逻辑回归对数据进行拟合。
此时 y 轴就表示一个老鼠属于肥胖型的概率。
对于一个待预测的老鼠(黑点),逻辑回归模型告诉我们,这只老鼠属于肥胖型的概率很高。
如果待测老鼠位于下图位置,回归曲线告诉我们,这只老鼠是肥胖型的概率很低。
我们需要将概率转化为分类,常用的方法是设置一个阈值,比如0.5。将概率大于0.5的老鼠归类为肥胖,将概率小于0.5的老鼠归类为不肥胖。
以下为4只不肥胖的老鼠
以下这4只老鼠肥胖。
以上为两个错分的情况。
根据分类结果计算混合矩阵,并计算敏感性和特异性。
现在 ,如果我们使用不同的阈值来做分类,比如正确地分类每个肥胖的老鼠很重要的话,我们将阈值设置为 0.1。这达到了正确分类每个肥胖老鼠的目的,但是会导致不肥胖老鼠的错分。
如果我们将阈值设置的很高,比如0.9。这就回导致很多肥胖老鼠的错分。
‘
事实上阈值的选择范围是0-1,那么到底哪个阈值是最好的呢?每个不同的阈值可能对应不同的混合矩阵。我们不需要测试每个不同的阈值(当然也不可能做到),故使用ROC曲线来表示不同的阈值的情况。
阈值从低到高 ,点从(1,1)逐渐往(0,0)移动:
最后,所有的老鼠都被归为不肥胖。
连接所有的点,就得到ROC曲线,曲线上的每个点都代表一个混合矩阵。
根据对肥胖错误估计的容忍度,我们可以决策出哪个点是最优的。
AUC 就是线下的面积
’
AUC 帮助我们选择哪条ROC曲线更好,下图红色的线比蓝色的更好。如果红色的线是逻辑回归得到的,蓝色的线是随机森林得到的,那么你应该选择逻辑回归做数据的预测。
另外,在数据不平衡的情况下,人们可能会使用精度,代替假阳率。因为它不需要考虑负类样本的个数。也就不会受到数据不平衡的影响。
总结来说,ROC帮助你决定哪个阈值更好;AUC帮你判断哪个模型更好。