python 使用numpy计算混淆矩阵
python 使用numpy计算混淆矩阵
假如一个模型要预测的类别有三个,分别为A、B、C,使用模型预测测试集得到以下结果:
我们一列一列来看,先看第一列:30、15、5
这里我们的测试集有且只有三个分类A、B、C;也就是真实分类A、B、C就对应着测试集的总体,对于一个样本的预测也只可能是这三者之一。
模型预测值为A的,实际标签不一定就是A,但它一定是A、B、C三者之一,这里预测为A的前提下:真实值为A的有30个、真实值为B的有15个、真实值为C的有5个。
上述表格用numpy表示如下
import numpy as np
# 混淆矩阵
c_matrix = np.array([[30, 7, 3],[ 15, 22, 3],[ 5, 1, 14]])
print(c_matrix.shape) # (3,3)
print(c_matrix[0][1]) # 7
也可对混淆矩阵进行标准化,使其值在0到1之间
# 混淆矩阵标准化(这里使用L1规范化,是对每一行来说规范化)
print(c_matrix.sum(axis=1))
print(c_matrix.sum(axis=1)[:, np.newaxis])
c_matrix = c_matrix / c_matrix.sum(axis=1)[:, np.newaxis]
print(c_matrix)
[40 40 20]
[[40][40][20]]
[[0.75 0.175 0.075][0.375 0.55 0.075][0.25 0.05 0.7 ]]
在测试模型时计算
confusion_matrix = np.zeros( (len(class_names), len(class_names)) ) # 混淆矩阵
for images, labels in test_ds.take(total_batch):labels = labels.numpy()predictions = model.predict(images)score = tf.nn.softmax(predictions)for index, elem in enumerate(score):r, c = np.argmax(elem), labels[index]confusion_matrix[r][c] += 1
python 使用numpy计算混淆矩阵相关推荐
- Python使用pandas的crosstab函数计算混淆矩阵并使用Seaborn可视化混淆矩阵实战
Python使用pandas的crosstab函数计算混淆矩阵并使用Seaborn可视化混淆矩阵实战 目录 Python使用pandas的crosstab函数计算混淆矩阵并使用Seaborn可视化混淆 ...
- [Python+sklearn] 计算混淆矩阵 confusion_matrix()函数
python sklearn 计算混淆矩阵 confusion_matrix()函数 参考sklearn官方文档:sklearn.metrics.confusion_matrix. 功能: 计算混淆矩 ...
- Python使用pandas_ml输出混淆矩阵以及从混淆矩阵衍生出来的其他指标:TP、TN、FP、FN、TPR、TNR(SPC)、PPV、NPV、FPR、FDR、FNR、ACC、F1、MCC等
Python使用pandas_ml输出混淆矩阵以及从混淆矩阵衍生出来的其他指标:TP.TN.FP.FN.TPR.TNR(SPC).PPV.NPV.FPR.FDR.FNR.ACC.F1.MCC等 目录 ...
- R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB
R语言使用randomForest包中的randomForest函数构建随机森林模型(Random forests).使用importance函数查看特征重要度.使用table函数计算混淆矩阵评估分类 ...
- R语言使用rpart包构建决策树模型、使用prune函数进行树的剪枝、交叉验证预防过拟合、plotcp可视化复杂度、rpart.plot包可视化决策树、使用table函数计算混淆矩阵评估分类模型性能
R语言使用rpart包构建决策树模型.使用prune函数进行树的剪枝.使用10折交叉验证选择预测误差最低的树来预防过拟合.plotcp可视化决策树复杂度.rpart.plot包可视化最终决策树.使用t ...
- R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能
R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...
- R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)
R语言使用caret包的confusionMatrix函数计算混淆矩阵.使用编写的自定义函数可视化混淆矩阵(confusion matrix) 目录
- R语言构建logistic回归模型并评估模型:计算混淆矩阵、并基于混淆矩阵计算Accuray、Precision、Recall(sensitivity)、F1、Specificity指标
R语言构建logistic回归模型并评估模型:计算混淆矩阵.并基于混淆矩阵计算Accuray.Precision.Recall(sensitivity).F1.Specificity指标 目录
- R计算混淆矩阵(Confusion Matrix)
R计算混淆矩阵(Confusion Matrix) 目录 R计算混淆矩阵(Confusion Matrix) 拟合Logistic回归模型 创建混淆矩阵
- fun是什么意思 python中def_【python】 numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能...
[python] numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能 经过搜索和查询源码了解到,.T就是一个方法,但是是被装饰器修饰了一下... @property是pyt ...
最新文章
- 2022-2028年中国充电桩行业深度调研及投资前景预测报告(上下卷)
- docker centos7 安装mysql_centos7通过docker安装mysql
- 经典复现:《统计学习方法》的代码实现(在线阅读!)
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十二║Vue实战:个人博客第一版(axios+router)...
- 为什么我不推荐敏捷开发?
- FFmpeg流媒体调试工具(六)
- MPU9250调试笔记(融合磁力计计算Yaw)
- 【Proteus仿真】BME280温湿度气压传感器数据串口输出
- ch341a编程和ttl刷机区别_USB转TTL(CH341A)的注意事项及说明
- 专访北森CEO纪伟国:解读SaaS+PaaS的云上发展路径
- 光遇服务器维护要多久,光遇:你玩游戏多久了?半年以上的老玩家,是如何坚持下去的?...
- 程序员的你想跳槽了?谨记:哪里都不好混!
- 3D建模新手入门到高端 电脑配置一览
- 「小程序JAVA实战」小程序的个人信息作品,收藏,关注(66)
- 阿里云服务器最便宜多少钱?附优惠购买教程每月仅需8元!
- 电商项目_ads层建设
- 全志T7 Display驱动分析
- 富途秋招笔试面试记录
- win7 修改服务器属性,win7打印机服务器属性设置
- 录音系列:录音文件为啥是.wav格式?