机器学习分类结果混淆矩阵 TP、TN、FP、FN 防混淆基于方法

博客针对机器学习分类结果混淆矩阵中 TP、TN、FP、FN 易混淆的问题,给出解决办法。强调不要按行列首字母对号入座,指出第二个字母是模型预测结果标识,第一个字母是判断预测是否正确的标识,并解释表格易误导人的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不知道有没有朋友也有这种烦恼:每次遇到涉及分类结果混淆矩阵中 TP、TN、FP、FN 等都一下子对应不起来,查看“西瓜书”或者网上资料后,当时记起来又理解了,过段时间再遇到又忘了。。。。。。反反复复。。。。。。好痛苦!

所以就特别想找到一个彻底解决“对不上号”的问题!

  1. 首先,先上一张比“西瓜书” p30 也的图更直观的图示:

  2. 然后,先暂时放下这张图,请一定先不要按照行列的首字母对号入座(按照缩写字母对号入座的理解就会感觉这张图是错误对的),先请放一放,同时也不要去回想自己之前对 TP、TN、FP、FN 任何的理解(不管它是对的还是错误的)!现在只记住两条:

  • TP、TN、FP、FN 中的第二个字母是机器学习算法或模型预测的结果标识(正例:P、反例:N)
  • TP、TN、FP、FN 中的第一个字母是根据真实情况判断模型的预测结果是否正确的标识(正确:T、错误:F),换句话说,这个表格的行标 T、F 仅仅是判断模型预测结果的一个参考,并不对应表格中的 TP、FN、FP、TN 的首字母

即:
正确地预测为正例(真正例):TP
正确地预测为反例(真反例):TN
错误地预测为正例(假正例):FP
错误地预测为反例(假反例):FN

  1. 这个表格最误导人的地方就是如果“认真地”表格的行标及列标的首字母与表格中的 TP、FN、FP、TN 的首字母,就会发现第二列不能对号入座,因为第二列的首字母与行标的首字母恰好相反!

  2. 为什么第一列的行标与每一项内容的第一个首字母相反呢?理解了这个地方也就理解了这个表格的实际意义!原因就是每一项的首字母是我们根据真实情况对机器的结果(第二列)的正、误判断,而并不是代表真情情况中的正例和反例!因此,并不能与行标对应!

PS:每个人的都有不同的记忆特点和记忆方式,适合自己的才是最好的!以上仅供参考!

### 解读混淆矩阵图中的 TPTNFPFN 对于二分类问题,混淆矩阵是一个 2×2 的表格,用于描述模型预测的结果与实际标签之间的关系。具体来说: - **真正例 (True Positive, TP)** 是指被正确预测为正类的样本数量。当一个实例实际上是正类,并且也被预测为正类时,则计数加一[^1]。 - **真负例 (True Negative, TN)** 表示那些实际上属于负类并被正确地判定为不属于目标类别的情况的数量。如果某个案例不是所关注的对象而且也未被错误地标记为目标对象,则该情况下的统计量增加一位。 - **假正例 (False Positive, FP)** 描述的是原本应归属于非目标组却被误认为是目标群体成员的情形数目;即本来是非正类却预报成了正类的例子会被记录在此项下。 - **假负例 (False Negative, FN)** 则涵盖了所有应该划入特定集合内部但由于某种原因未能成功加入其中的数据点——简单地说就是本应归于正类但却被判别成其他类型的个体总数。 在一个标准布局里,这些术语通常按照如下方式排列形成混淆矩阵图表: | | Predicted as Class A | Not predicted as Class A | |---------------|---------------------|--------------------------| | Actual Class A| TP | FN | | Other Classes | FP | TN | 这种结构使得可以直观看出各类别的分布以及算法性能的好坏程度。通过观察不同象限内的数值大小变化趋势来评估机器学习模型的表现优劣。 ```python import seaborn as sns from sklearn.metrics import confusion_matrix import matplotlib.pyplot as plt # Example code to plot a confusion matrix using Python libraries def plot_confusion_matrix(y_true, y_pred): cm = confusion_matrix(y_true, y_pred) ax= plt.subplot() sns.heatmap(cm, annot=True, fmt='g', ax=ax); ax.set_xlabel('Predicted labels'); ax.set_ylabel('True labels'); ax.set_title('Confusion Matrix'); ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn-WJW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值