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

  • 相关阅读:
    根据模板和git commit自动生成日·周·月·季报
    基于原microc改进的编程语言原理与编译
    强化学习章节脉络
    Java OutputStream.close()功能简介说明
    crontab 定时任务
    移动端性能专项测试之内存 - 进阶篇
    y50.第三章 Kubernetes从入门到精通 -- k8s实战案例(二三)
    H5 Canvas 越线绘制页面
    house系1
    幼儿安全消防知识教案
  • 原文地址:https://blog.csdn.net/l8947943/article/details/127558164