二分类评估指标——混淆矩阵/ROC曲线/AUC值
二分类评估指标笔记
1. 混淆矩阵(Confusion Matrix)
| 真实值:Positive (P) | 真实值:Negative (N) | |
|---|---|---|
| 预测值:P | TP(真正) | FP(假正) |
| 预测值:N | FN(假负) | TN(真负) |
- TP(True Positive):正确预测为正的样本数
- FP(False Positive):错误预测为正的样本数
- FN(False Negative):错误预测为负的样本数
- TN(True Negative):正确预测为负的样本数
2. 常用评估指标
2.1 召回率Recall,或者真正率TPR
真正正确的值中被预测为正确的比例
Recall (TPR) = TP / (TP + FN)
2.2 准确率(Accuracy)
所有值中预测正确的比例
Accuracy = (TP + TN) / (TP + TN + FP + FN)
3. ROC 曲线与 AUC
3.1 ROC 曲线
-
TPR(True Positive Rate):真正率,即召回率
TPR = TP / (TP + FN)
-
FPR(False Positive Rate):假正率
FPR = FP / (FP + TN)
ROC 曲线以 FPR 为横轴,TPR 为纵轴绘制。
3.2 AUC(Area Under Curve)
- 表示 ROC 曲线下的面积,衡量模型性能:
- AUC = 1.0:完美分类器
- AUC = 0.5:随机分类器
- AUC < 0.5:比随机还差
3.3 Python 代码示例
from sklearn.metrics import roc_curve, roc_auc_score
# 计算 ROC 曲线
fpr, tpr, thresholds = roc_curve(y_true, y_score)
# 计算 AUC 值
auc_score = roc_auc_score(y_true, y_score)
浙公网安备 33010602011771号