混淆矩阵
labeled as positive | labeled as negative | |
---|---|---|
predicted as positive | True Positive (TP) | False Positive (FP) |
predicted as negative | False Negative (FN) | True Negative (TN) |
混淆矩阵(Confusion Matrix)中包含四种数据:
- TP:实际为正例,被预测为正例,预测正确
- FP:实际为负例,被预测为正例,预测错误
- FN:实际为正例,被预测为负例,预测错误
- TN:实际为负例,被预测为正例,预测正确
由以上四种数据得到四种比率如下:
- TPR(True Positive Rate,又称 灵敏度:sensitivity): TPR=TPTP+FN ,即 正例被正确预测为正例的数目实际正例的数目
- FPR(False Positive Rate): FPR=FPFP+TN ,即 负例被错误预测为正例的数目实际负例的数目
- FNR(False Negative Rate): FNR=FNTP+FN ,即 正例被错误预测为负例的数目实际正例的数目
- TNR(True Negative Rate,又称 特指度:specificity): TNR=TNFP+TN ,即 负例被正确预测为负例的数目实际负例的数目
评价指标
- Precision,即查准率: P=TPTP+FP
- Recall,即查全率: R=TPTP+FN
- F-Score,即precision和recall的调和平均值,更接近precision和recall中较小的那一个值: F=2×P×RP+R
- Accuracy,分类器对整体样本的分类能力,即正例分为正例,负例分为负例: A=TP+TNTP+FP+FN+TN
- ROC,Receiver Operating Characteristic,主要用于画ROC曲线(横坐标为FPR,纵坐标为TPR)
ROC曲线中,关于四个关键点的解释:
(FPR=0,TPR=0):将全部正例分为负例,全部负例分为负例
(FPR=0,TPR=1):全部划分正确,即正例全部分为正例,负例全部分为负例
(FPR=1,TPR=1):将全部负例分为正例,全部正例分为正例
所以,ROC曲线越靠近左上角,说明分类器的效果越好。
- AUC,Area Under ROC Curve
在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化,这样ROC曲线会出现加大的波动。
AUC的值就是处于ROC curve下方的那部分面积的大小。通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的performance。如果模型是完美的,那么它的AUG = 1,如果模型是个简单的随机猜测模型,那么它的AUG = 0.5,如果一个模型好于另一个,则它的曲线下方面积相对较大。
参考文献:http://gim.unmc.edu/dxtests/roc3.htm
http://alexkong.net/2013/06/introduction-to-auc-and-roc/