• 分类之混淆矩阵(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侧重不同,则更可以通过调权进行处理。
    在这里插入图片描述

  • 相关阅读:
    Dijkstra算法
    CSDN21天学习挑战赛——多态(05)
    一文带你深入浅出指针和数组习题讲解
    virtualbox 网络设置实现主机和虚拟机互相访问
    会议文字记录工具【钉钉闪记】
    蓝桥杯的一些技巧
    splay树:hdu4453 Looploop
    sql学习笔记(三)
    用Nginx搭建一个具备缓存功能的反向代理服务
    Android Studio无法连接夜神模拟器的解决方案
  • 原文地址:https://blog.csdn.net/l8947943/article/details/127558164