大家可能更专注模型定义,构建过程和其背后算法,而对如何评价一个模型的好坏还不太了解,不了解各种评估模型的指标,以及他们都代表什么以及如何使用。
其实要训练出一个好的模型,首先要知道什么样模型才是好的模型。这样就需要通过一些指标来真正反映模型好坏。也是今天重点的内容。
真实值\预测值 | T | F |
---|---|---|
T | TP | FN |
F | FP | TN |
- TP(True Positive) 真正类 测试集真实标签为 T, 预测值也为 T的总数
- FN(False Negative) 漏报 测试集真实标签为 F,测试集却为 F 的总数
- FP(False Positive) 误报 测试集真实标签为 F,测试集却为 T 的总数
- TN(True Negative) 真负类
准确率
准确率(Accuracy):所有正确分类的样本与总样本数比例
准确度是正确预测和总数的比值,从混淆矩阵中,TP 和 TN 之和就是正确的预测数。
下面的精准度和召回率有点绕,但是并不难只要大家留心然后在自己做点练习就能够很好理解和运用这两个指标来衡量模型。
精准度(Precision)
精准度(Precision):就是我们预测为正样本中有多少是正确的概率
正确类数和真正类数与漏报数之和的比值,
召回率(recall)
也叫查全率,反映正样本被预测为正的比例。
召回率体现了分类模型H对正样本的识别能力,recall 越高,说明模型对正样本的识别能力越强。
假设有 20 任务其中 10 个被按时完成,10 个逾期完成
- 第 1 种
预测完成任务 | 预测逾期完成任务 | |
---|---|---|
实际按时完成任务 | 2 | 8 |
实际逾期完成任务 | 0 | 10 |
名称 | 值 |
---|---|
准确率 | (2+10)/20 = 0.6 |
精准度 | 2/(2+0) = 1 |
召回率 | 2/(2+8) = 0.2 |
- 第2种预测情况
预测完成任务 | 预测逾期完成任务 | |
---|---|---|
实际按时完成任务 | 10 | 0 |
实际逾期完成任务 | 10 | 0 |
名称 | 值 |
---|---|
准确率 | 10/20 = 0.5 |
精准率 | 10/(10+10) = 0.5 |
召回率 | 10/(2+8) = 1 |
我们看到虽然召回率是 100% 但是精准率确很低只有 50% 也就是我们在做题时候全部孤注一掷压一个选择。