【机器学习】混淆矩阵(confusion matrix)TP TN FP FN

positive是攻击 negative是正常

这四个是**混淆矩阵(confusion matrix)**里的基本计数,衡量分类结果和真实标签的对应关系。

二分类(只有"正/负"两类)时

真实\预测 预测为正(attack) 预测为负(normal)
真实为正(attack) TP(True Positive,真正)模型把攻击判成攻击 FN(False Negative,假负/漏报)模型把攻击判成正常
真实为负(normal) FP(False Positive,假正/误报)模型把正常判成攻击 TN(True Negative,真负)模型把正常判成正常
  • TP:抓到的真攻击数
  • TN:放过的真正常数
  • FP(误报):正常被当成攻击
  • FN(漏报):攻击被当成正常

常见派生指标(供你对照前面公式):

  • Precision = TP / (TP + FP)(报出来的有多少真攻击)
  • Recall = TP / (TP + FN)(真攻击有多少被抓到)
  • FPR = FP / (FP + TN)(正常流量被误判的比例)
  • Accuracy = (TP + TN) / (TP + FP + TN + FN)

注意:"正类(Positive)"是谁要先定义清楚 。在安全场景里,通常把攻击 视为正类、正常为负类。

多分类(多个攻击类型)时

  • 某一类 (k) 为"正类",把其他所有类当作"负类",同样能数出 (TP_k, FP_k, TN_k, FN_k)。
  • 逐类算 Precision/Recall/F1,再做宏平均(macro):对所有类的指标取算术平均,让每个类同等权重。

小例子(入侵检测)

  • 100 个样本里有 20 个攻击、80 个正常。

  • 模型抓到 18 个攻击(其中 2 个其实是正常),漏掉 2 个攻击;把 78 个正常判对。

    • TP=18(真攻判攻)
    • FP=2(正常判攻 → 误报)
    • FN=2(攻判正常 → 漏报)
    • TN=78(正常判正常)

这样你就能把任何结果表转换成 TP/TN/FP/FN,再按需要算 accuracy、macro_f1、macro_precision、macro_recall、macro_fpr 等。

给你一套"1 张图 + 3 口诀 + 4 步法",快速吃透并记住 TP/TN/FP/FN 及常用指标。

1 张图(固定方向)

行=真实列=预测刻在脑子里👇

复制代码
                预测 Positive   预测 Negative
真实 Positive      TP(真正)         FN(漏报)
真实 Negative      FP(误报)         TN(真负)

只要记住:P 行列是"正(Positive)"

  • 落在"真实正 且 预测正"→ True Positive(TP)
  • "真实正 但 预测负"→ False Negative(FN,漏掉了正)
  • "真实负 但 预测正"→ False Positive(FP,误把负当正)
  • "真实负 且 预测负"→ True Negative(TN)

3 口诀(安在安全场景更好记)

  1. "报出来的准不准------看 Precision(纯度)"

    ( \textbf{Precision} = \frac{TP}{TP+FP} )

    想象 SOC 告警列表:越少 FP,越"纯"

  2. "该抓的抓到了没------看 Recall(覆盖)"

    ( \textbf{Recall} = \frac{TP}{TP+FN} )

    真攻击里有多少被抓到;越少 FN,越不漏

  3. "正常流量被冤枉没------看 FPR(误报率)"

    ( \textbf{FPR} = \frac{FP}{FP+TN} )

    在所有真实正常里被误判为攻的比例;边缘/线上最敏感

F1(调和平均)= 在"纯度 vs 覆盖"之间求平衡:

( \textbf{F1} = 2\cdot\frac{\text{Prec}\cdot\text{Rec}}{\text{Prec}+\text{Rec}} )

4 步法(任何题目 10 秒内算清)

Step 1 :画 2×2 表(行真列预)。
Step 2 :把样本逐条或按数量填入四格 → 得到 TP/FP/FN/TN。
Step 3:按需代入公式:

  • Accuracy = (TP+TN)/(TP+FP+FN+TN)
  • Precision/Recall/FPR/F1(如上)
    Step 4:一句解读:
  • Precision 高=告警"干净"(少 FP)
  • Recall 高="不漏"(少 FN)
  • FPR 低="少扰民"
  • Accuracy 只做全局参考,类别不平衡时别当真

小联想(更好记)

  • FP = False Positive = 误报 :把 例"判成正"(P)→ 叫假正
  • FN = False Negative = 漏报 :把 例"判成负"(N)→ 叫假负
  • TP/TN 是对的 (True),FP/FN 是错的(False)。
  • 英文快记:P=Purity(纯度)R=Recall(召回/覆盖)FPR=False alarm rate

什么时候看哪个?

  • 线上/边缘 :优先 FPR(误报率) 低延迟低
  • 安全漏不起 :优先 Recall 高(宁可多看几条)。
  • 综合对比 :看 F1(或 macro-F1) ;多分类用 macro 让每类同等权重。

5 秒心法(背下来就行)

"行真列预,TPTN 对;FP 误报,FN 漏报;纯度看 P,覆盖看 R,打平看 F1,扰民看 FPR。"

相关推荐
袁庭新2 小时前
2025年09月总结
人工智能·aigc
带娃的IT创业者3 小时前
Function Call实战效果:准确率提升86%背后的数据与思考,兼谈MCP的未来
人工智能·python·function call·性能分析·技术趋势·mcp·roi
可触的未来,发芽的智生3 小时前
触摸未来2025.10.05:悟神经网络符号之伤,拥抱声音的宇宙
人工智能·python·神经网络·算法·架构
网安INF3 小时前
【论文阅读】-《SparseFool: a few pixels make a big difference》
论文阅读·人工智能·深度学习·网络安全·黑盒攻击
yueyuebaobaoxinx3 小时前
从工具到中枢:2025 年 AI 重构实体经济的实践图景
大数据·人工智能·重构
yueyuebaobaoxinx3 小时前
人机共生:生成式 AI 重构内容创作的机遇与博弈
人工智能·chatgpt·重构
huluang3 小时前
基于AI驱动的项目重构与落地实施指南
大数据·人工智能·重构
zezexihaha3 小时前
生成式 AI 重构内容创作:从辅助工具到智能工厂
大数据·人工智能·重构
蒋星熠3 小时前
用 CodeBuddy CLI + Prompt,从零到可运行:前后端混合管理系统的高效实战
人工智能·python·机器学习·prompt·codebuddy code·无界生成力·ai cli