二元分类:原理、训练与评估
二元分类:原理、训练与评估
二元分类是一种监督学习技术,用于预测数据属于两个可能类别的概率。与回归模型不同,二元分类模型计算的是类分配的概率值,而不是具体的数值。在训练过程中,模型会学习如何根据输入特征(x)预测输出标签(y)的概率分布。
示例:糖尿病预测
为了更好地理解二元分类,我们来看一个简化的糖尿病预测示例。在这个例子中,我们使用患者的血糖水平作为单一特征来预测患者是否患有糖尿病。训练数据如下:
血糖 (x) | 糖尿病? (y) |
---|---|
67 | 0 |
103 | 1 |
114 | 1 |
72 | 0 |
116 | 1 |
65 | 0 |
训练模型
训练二元分类模型时,我们通常使用逻辑回归等算法来拟合训练数据。逻辑回归会生成一个S形(sigmoid)函数,该函数将输入特征映射到0到1之间的概率值。函数表达式为:
f(x) = P(y=1 | x)
这意味着函数计算的是在给定x值下,y为1(即患者患有糖尿病)的概率。对于训练数据中的每个观测值,我们知道实际的y值,因此可以计算出概率分布。例如,对于血糖水平为90的患者,函数计算出的概率值为0.9,高于阈值0.5,因此模型预测该患者患有糖尿病。
评估模型
在训练模型后,我们需要使用验证数据集来评估模型的性能。假设我们保留以下数据用于验证:
血糖 (x) | 糖尿病? (y) |
---|---|
66 | 0 |
107 | 1 |
112 | 1 |
71 | 0 |
87 | 1 |
89 | 1 |
将逻辑函数应用于验证数据集中的每个观测值,可以得到预测的概率值。根据阈值0.5,模型会将概率值转换为0或1的预测标签。预测结果如下:
血糖 (x) | 实际的糖尿病诊断 (y) | 预测的糖尿病诊断 (ŷ) |
---|---|---|
66 | 0 | 0 |
107 | 1 | 1 |
112 | 1 | 1 |
71 | 0 | 0 |
87 | 1 | 0 |
89 | 1 | 1 |
评估指标
评估二元分类模型的性能通常使用以下指标:
混淆矩阵
混淆矩阵是一个2x2的表格,用于展示模型预测结果与实际结果的对比。它包含四个主要指标:
- 真阳性(TP):模型正确预测为阳性的样本数
- 假阳性(FP):模型错误预测为阳性的样本数
- 真阴性(TN):模型正确预测为阴性的样本数
- 假阴性(FN):模型错误预测为阴性的样本数
准确度
准确度是模型正确预测的比例,计算公式为:
(TN+TP) ÷ (TN+FN+FP+TP)
在糖尿病预测示例中,准确度为:
(2+3) ÷ (2+1+0+3) = 5 ÷ 6 = 0.83
召回率
召回率是模型正确识别的阳性病例比例,计算公式为:
TP ÷ (TP+FN)
在糖尿病预测示例中,召回率为:
3 ÷ (3+1) = 3 ÷ 4 = 0.75
精准率
精准率是模型预测为阳性且实际也为阳性的比例,计算公式为:
TP ÷ (TP+FP)
在糖尿病预测示例中,精准率为:
3 ÷ (3+0) = 3 ÷ 3 = 1.0
F1分数
F1分数是精准率和召回率的调和平均数,计算公式为:
(2 x 精准率 x 召回率) ÷ (精准率 + 召回率)
在糖尿病预测示例中,F1分数为:
(2 x 1.0 x 0.75) ÷ (1.0 + 0.75) = 1.5 ÷ 1.75 = 0.86
曲线下面积(AUC)
AUC是接收者操作特征(ROC)曲线下的面积,用于评估模型在不同阈值下的性能。ROC曲线通过绘制真阳性率(TPR)与假阳性率(FPR)的关系来生成。AUC的取值范围为0到1,AUC值越接近1,表示模型性能越好。
在糖尿病预测示例中,AUC值为0.875,表明模型的预测性能优于随机猜测。