1. TP, FP, TN, FN
- 真阳性TP:预测为正样本,实际也为正样本的特征数
- 假阳性FP:预测为正样本,实际为负样本的特征数
- 真阴性TN:预测为负样本,实际也为负样本的特征数
- 假阴性FN:预测为负样本,实际为正样本的特征数
2. 评估
正确率/精确率 TP/(TP+FP) = P
覆盖率/召回率 TP/(TP+FN) = R
特异性 TN/(FP+TN) = S
灵敏度 TP/(TP+FN) = TPR 是所有实际正例中,正确识别的正例比例
1-特异度 FP/(FP+TN) = FPR 是实际负例中,错误得识别为正例的负例比例
有时也用一个F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下
F-measure 2/F = 1/P + 1/R
有时候我们对精确率和召回率并不是一视同仁,比如有时候我们更加重视精确率。我们用一个参数ββ来度量两者之间的关系。如果β>1β>1, 召回率有更大影响,如果β<1β<1,精确率有更大影响。自然,当β=1β=1的时候,精确率和召回率影响力相同,和F1形式一样。含有度量参数ββ的F1我们记为FβFβ, 严格的数学定义如下
3. RoC曲线和PR曲线
以TPR为y轴,以FPR为x轴,我们就直接得到了RoC曲线。从FPR和TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。
以精确率为y轴,以召回率为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。
使用RoC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。