前言
- 如果你了解混淆矩阵(误差矩阵),那更好,如果你不了解,我也不会介绍,请自行查找或者参考:混淆矩阵
提要
- 模拟一个机器学习案例:我们假设要做一个预测是否为癌症的案例,特征值是:身体的各项素质,目标值是:是否为癌症(分类问题)。
- 那么此时如何衡量这个模型的好坏?
- 由此引出:准确率、召回率、精确率、还有稳健型F1。
- 下面结合假设的预测案例,来介绍这几个标准。
正文
- 先了解有关的几个定义:
类别 | 定义 | 案例 |
---|---|---|
真正例(TP ) | 实际上是正例的数据点被标记为正例 | 实际上为癌症的被预测为癌症了 |
假正例(FP) | 实际上是反例的数据点被标记为正例 | 实际上不是癌症却被预测为癌症了 |
真反例(TN) | 实际上是反例的数据点被标记为反例 | 实际上不是癌症也确实预测为不是癌症 |
假反例(FN) | 实际上是正例的数据点被标记为反例 | 实际是癌症却被预测是不是癌症 |
- 那么再看下面一个表:
类别 | 特点 | 定义 | 案例 | 公式 | 应用场景 |
---|---|---|---|---|---|
准确率 | 默认 | 真实为正例和真实为反例的数据和总数据的比例。 | 预测正确的和全部的比例 | (真正例+真反例)/(真正例+真反例+伪正例+伪反例) | 多 |
召回率 | 查的全 | 真实为正例的样本中预测结果为正例的比例 | 预测为癌症且本来就是癌症和本来就是癌症的比例(存在是癌症却预测为不是癌症的数据(假反例) | 真正例/(真正例+假反例) | 还行 |
精确率 | 查的准 | 预测结果为正例的样本和真实为正例的比例 | 真为癌症和预测结果为癌症的比例(存在不是癌症却预测是癌症的数据(假正例) | 真正例/(真正例+假正例) | 少 |
稳健型F1 | 综合评判标准,越高越好 | 为了权衡召回率和精确率之间的权衡 | 无,参照公式即可。 | F1=2TP/(2TP+FN+FP)=(2 * 精确率 * 召回率)/(精确率+召回率) | 少 |