python - 考虑到所有类,如何找到所有真阳性、阴性和假阳性和阴性
问题描述
我可以对我知道所需输出的较小数据集执行相同的操作
例如:我有数据集:
y_true=[1,1,0,1]
y_pred=[1,0,0,0]
我可以编写函数来查找所有真假阳性和阴性:
def measures(y_pred, y_true):
TP = 0
FP = 0
TN = 0
FN = 0
for i in range(len(y_pred)):
if y_true[i]==y_pred[i]==1:
TP += 1
if y_pred[i]==1 and y_true[i]!=y_pred[i]:
FP += 1
if y_true[i]==y_pred[i]==0:
TN += 1
if y_pred[i]==0 and y_true[i]!=y_pred[i]:
FN += 1
return(TP, FP, TN, FN)
但是,如果我打算为多个标签找到相同的内容,如下所示:
y_true=[1,2,0,1,3]
y_pred=[1,0,3,2,1]
所以我想找到所有考虑到每个标签的 TP_total、TN_total、FP_total 和 FN_total'1','2','0','3'
我怎样才能做到这一点
解决方案
由于您在问题中添加了标签Scikit-Learn
,因此您可以通过使用分类报告和返回您想要的内容的混淆矩阵(示例):
tn, fp, fn, tp = confusion_matrix([0, 1, 0, 1], [1, 1, 1, 0]).ravel()
或者您可以使用Plot Confusion Matrix绘制它。
(示例在链接中)
推荐阅读
- discord.js - 设置音乐队列的最大大小
- kubernetes - Kubernetes RBAC cluster-admin 没有秘密读取权限
- javascript - ReactJS 为不同的页面渲染 html
- algorithm - 如何从标题重建霍夫曼树?
- html - 在特定页面上更改导航栏品牌颜色
- java - 如何在java中使用“0”停止do while循环
- laravel - laravel 5-通过多对多搜索获取相关产品
- c++ - 整数到文本显示不正确
- javascript - 如何连接 Laravel 5.4 后端和 Angular 5 前端
- c++ - 不了解构造函数如何工作的问题