分类之混淆矩阵(Confusion Matrix)

1. 写在前面

为什么时隔多年又再做一次混淆矩阵的整理,TMD就是每次用的时候要自己回过头查一遍,老是记不住,为了打好基础,再次进行梳理。

2. 为什么会有混淆矩阵

我们简单的分类衡量模型的好坏,其实正常使用均方误差就行了,如下:

E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=1}^{m}(f(x_i)-y_i)^2 E(f;D)=m1i=1m(f(xi)yi)2

其次就是错误率:

E ( f ; D ) = 1 m ∑ i = 1 m ∏ ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=1}^{m}\prod(f(x_i)-y_i)^2 E(f;D)=m1i=1m(f(xi)yi)2

那么精度就是1-错误率喽:

a c c ( f ; D ) = 1 − E ( f ; D ) acc(f;D)=1-E(f;D) acc(f;D)=1E(f;D)

但是,还有更麻烦的需求,什么需求?我们后面再说!先看混淆矩阵。
在这里插入图片描述

  • TP:预测结果是正例(Positive),而且真实情况是正例,那么模型预测正确,即预测为True,故用True Positive = TP表示。
  • FN:预测结果是反例(Negative),而且真实情况是正例,那么模型预测错误,即预测为False,故用False Negative = FN表示。
  • FP:预测结果是正例(Positive),而且真实情况是反例,那么模型预测错误,即预测为False,故用False Positive = FN表示。
  • TN:预测结果是反例(Negative),而且真实情况是反例,那么模型预测正确,即预测为True,故用True Negative = TN表示。

综上:混淆矩阵的含义终于搞清楚了。

3. 那么衍生出来什么需求?

借用周志华老师的西瓜书:
模型预测了10个好瓜,但是其中真正的好瓜有多少?

在此用到了查准率
P = T P T P + F P P=\frac{TP}{TP +FP} P=TP+FPTP

有20个好瓜,但是模型只查出了10个好瓜?
在此则用到的被称为查全率
R = T P T P + F N R=\frac{TP}{TP +FN} R=TP+FNTP

4. 再次衍生出F1

什么是F1,就是P和R的调和平均,即
在这里插入图片描述
如果对P和R侧重不同,则更可以通过调权进行处理。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/l8947943/article/details/127558164