混淆矩阵(Confusion matrix)+ 代码实现

在机器学习领域,混淆矩阵(Confusion Matrix),又称为可能性矩阵或错误矩阵。混淆矩阵是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。在图像精度评价中,主要用于比较分类结果和实际测得值可以把分类结果的精度显示在一个混淆矩阵里面

混淆矩阵要表达的含义:

每一行之和表示该类别的真实样本数量,每一列之和表示被预测为该类别的样本数量。

 True Positive(TP):真正类。样本的真实类别是正类,并且模型识别的结果也是正类。

 False Negative(FN):假负类。样本的真实类别是正类,但是模型将其识别为负类。

 False Positive(FP):假正类。样本的真实类别是负类,但是模型将其识别为正类。

 True Negative(TN):真负类。样本的真实类别是负类,并且模型将其识别为负类。 

样例总数 = TP + FP + TN + FN

该矩阵可用于易于理解的二类分类问题,但通过向混淆矩阵添加更多行和列,可轻松应用于具有3个或更多类值的问题。

主对角线上的元素代表每个类别正确分类的数量,所以一般直接看主对角线上的值就行了

代码实现:

pip install scikit-learn matplotlib

from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# 生成一些示例的真实标签和预测标签
true_labels = [1, 0, 1, 1, 0, 1, 0, 0]
predicted_labels = [1, 0, 0, 1, 0, 1, 0, 1]

# 使用scikit-learn计算混淆矩阵
cm = confusion_matrix(true_labels, predicted_labels)

# 使用seaborn绘制混淆矩阵的热力图
sns.heatmap(cm, annot=True, cmap="Blues", fmt='g')
plt.xlabel('Predicted labels')
plt.ylabel('True labels')
plt.show()

实例:

imagemol的二分类混淆矩阵

[机器学习笔记] 混淆矩阵(Confusion Matrix)_混淆矩阵计算公式_梅森上校的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Pengsen Ma

太谢谢了

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

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

打赏作者

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

抵扣说明:

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

余额充值