本文为学习机器学习过程中整理的笔记,参考于http://www.ai-start.com/ml2014/
会出现类偏斜的情况
训练集中有非常多的同一种类的样本,而其他种类的样本只有很少或者没有。
(举例:在1000个人中有5个患者,如果此时预测1000个人中有50个患者,那么即使此时预测没有患病的人数的准确率高达95%(950个人没有患病),但实际上我们所预测的50个患病人数与实际上的5个患病人数仍有很大差距)
查准率(Precision)、查全率(Recall)
通过查准率和召回率可以判断是否出现了类偏斜,且查准率和召回率越高越好
首先将预测结果分为4种情况:
- 正确肯定(True positive):预测为真,实际为真
- 正确否定(True negative):预测为假,实际为假
- 错误肯定(False positive):预测为真,实际为假
- 错误否定(False negative):预测为假,实际为真
预测情况(↓) \ 实际情况(→) | positive | negative |
positive | True Positive(TP) | False Positive(FP) |
negative | False Negative(FN) | True Negative(TN) |
那么,
查准率 =
T
P
T
P
+
F
P
\frac{TP}{TP+FP}
TP+FPTP (
预
测
为
真
且
实
际
为
真
的
数
量
预
测
为
真
的
数
量
\frac{预测为真且实际为真的数量}{预测为真的数量}
预测为真的数量预测为真且实际为真的数量)
查全率 = T P T P + F N \frac{TP}{TP+FN} TP+FNTP ( 预 测 为 真 且 实 际 为 真 的 数 量 实 际 上 为 真 的 数 量 \frac{预测为真且实际为真的数量}{实际上为真的数量} 实际上为真的数量预测为真且实际为真的数量)
查准率和查全率之间的权衡
在实际应用中有可能会出现“查准率很高而查全率很低”或者“查准率很低而查全率很高”的情况,因此需要对这两者作一个权衡(不能让其中一方过低,当然两者都越高越好)
设查准率为P,查全率为R,则设一个值为F用于权衡,F = 2 P R P + R \frac{PR}{P+R} P+RPR(得到的F越高越好)