knitr::opts_chunk$set(echo = TRUE)
介绍评价二分类模型的一些指标。
1. 混淆矩阵
预测为正类 | 预测为负类 | |
实际为正类 | TP | FN |
实际为负类 | FP | TN |
符号标记:
TP—将正类预测为正类数
FN—将正类预测为负类数
FP—将负类预测为正类数
TN—将负类预测为负类数
1.1 准确率*Accuracy
通俗地说就是所有样本被正确预测的占比。
2. ROC曲线和AUC
2.1 ROC
先定义TPR和FPR:
TPR—真阳性,同召回率
FPR—假阳性,负样本中错误预测为正的占比
二分类模型返回一个概率值,通过调整阈值,即大于该阈值为正类,反之负类,可以得到多个(FPR,TPR)点,描点画图得到的曲线即为ROC曲线。如下图所示:
knitr::include_graphics("../Picture/Pic1-Roc.png",dpi = 600)
2.2 AUC
AUC为ROC曲线下的面积,越接近1说明分类效果越好。
直观的解释AUC,可以这样理解:
从正负样本各随机抽取一个样本Sample1、Sample2,分类器返回概率值P1、P2,AUC=P(P1>P2)。其反应的是分类器对样本的排序能力,好的分类器应该返回正样本以更高概率值。
具体的可以看这里
2.3 KS值
和ROC曲线类似,通过调整阈值可以得到多个(FPR,TPR)点,描点画图时把阈值作为横轴,FPR描点形成一条曲线,TPR描点形成一条曲线。KS值就为Max(TPR-FPR)
,KS值越大,表示模型能够将正、负样本区分开的程度越大,但是分隔并不一定表示正确。通常来讲,KS>0.2即表示模型有较好的预测准确性。
knitr::include_graphics("../Picture/Pic2-KS.png",dpi = 600)
2018-02-27 于杭州
2018-07-13 改于南京市建邺区新城科技园