混淆矩阵基础:二分类问题与四个象限
在逾期预测模型中,我们面对的是一个典型的二分类问题:预测借款人是否会逾期(正类)或不会逾期(负类)。混淆矩阵(Confusion Matrix)是评估这类模型最基础、最直观的工具,它通过一个 2×2 的表格,清晰地展示了模型预测结果与真实标签之间的对应关系。
二分类问题的定义
二分类问题的目标是将样本划分到两个互斥的类别中。在金融风控场景下,通常定义:
- 正类(Positive):逾期样本(即发生违约的借款人)
- 负类(Negative):非逾期样本(即正常还款的借款人)
模型的预测结果与真实标签组合后,会产生四种情况,这正是混淆矩阵的四个象限。
混淆矩阵的四个象限
混淆矩阵的行代表真实标签,列代表预测标签。四个象限的含义如下:
| 象限 | 缩写 | 全称 | 含义 | 风控解读 |
|---|---|---|---|---|
| 左上 | TP | True Positive(真正例) | 真实逾期,模型也预测为逾期 | ✅ 正确识别出风险客户 |
| 右上 | FP | False Positive(假正例) | 真实未逾期,模型却预测为逾期 | ⚠️ 误伤好客户,造成业务损失 |
| 左下 | FN | False Negative(假负例) | 真实逾期,模型却预测为未逾期 | 🚨 漏掉风险客户,导致坏账 |
| 右下 | TN | True Negative(真负例) | 真实未逾期,模型也预测为未逾期 | ✅ 正确识别出优质客户 |
关键记忆点:TP 和 TN 是模型做对的样本;FP 和 FN 是模型做错的样本。在风控中,FN(漏过逾期客户)的代价通常远高于 FP(误拒好客户),因为坏账损失往往大于利息收入损失。
混淆矩阵的构建与可视化
构建混淆矩阵的步骤非常简单:
- 获取真实标签:从业务数据中提取样本的实际逾期状态(0 表示未逾期,1 表示逾期)。
- 获取预测标签:使用训练好的模型对同一批样本进行预测,得到预测类别(0 或 1)。
- 交叉计数:统计真实标签与预测标签的四种组合数量,填入 2×2 矩阵。
以下是一个典型的混淆矩阵可视化结构,展示了四个象限的布局与计数关系:
混淆矩阵的代码实现
在 Python 中,可以使用 sklearn.metrics.confusion_matrix 快速构建混淆矩阵。以下是一个完整的示例:
import numpy as np
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns
# 模拟真实标签和预测标签
y_true = np.array([1, 0, 1, 1, 0, 0, 1, 0, 1, 0]) # 1=逾期, 0=未逾期
y_pred = np.array([1, 0, 1, 0, 0, 1, 1, 0, 0, 0])
# 构建混淆矩阵
cm = confusion_matrix(y_true, y_pred)
print("混淆矩阵:")
print(cm)
# 可视化混淆矩阵
plt.figure(figsize=(6, 5))
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues',
xticklabels=['未逾期', '逾期'],
yticklabels=['未逾期', '逾期'])
plt.xlabel('预测标签')
plt.ylabel('真实标签')
plt.title('逾期预测模型 - 混淆矩阵')
plt.show()
💡 实用技巧:在金融风控项目中,建议将混淆矩阵的四个象限数值同时输出为百分比形式,便于向业务方解释模型效果。例如:“在 1000 个测试样本中,模型正确识别了 85% 的逾期客户(TP),但漏掉了 15% 的风险客户(FN)。”
从混淆矩阵到核心评估指标
混淆矩阵的四个象限是计算几乎所有分类评估指标的基础。以下是最常用的三个指标及其计算公式:
| 指标名称 | 公式 | 含义 | 风控关注点 |
|---|---|---|---|
| 准确率(Accuracy) | (TP + TN) / (TP + FP + FN + TN) | 所有预测中正确的比例 | 样本不平衡时可能失真 |
| 精确率(Precision) | TP / (TP + FP) | 预测为逾期的样本中,真正逾期的比例 | 衡量误伤程度,越高越好 |
| 召回率(Recall) | TP / (TP + FN) | 真实逾期的样本中,被正确识别的比例 | 衡量漏过风险,越高越好 |
⚠️ 常见误区:不要只关注准确率!在逾期样本占比极低(如 2%)的情况下,模型即使全部预测为“未逾期”,准确率也能达到 98%,但这个模型完全没有风控价值。必须结合混淆矩阵的四个象限,综合评估精确率和召回率。