【发布时间】:2021-06-29 05:00:52
【问题描述】:
我正在尝试构建一个混淆矩阵 (2,2),其中包含真阳性、假阳性、真阴性、假阴性,给定两个列表作为输入。第一个列表包含实际值,第二个列表包含只有 1 和 0 的预测值。
我的 for 循环或 if 语句中似乎缺少某些内容,但我不知道是什么...
这是我的代码:
import numpy as np
y_true = [int(x) for x in input().split()]
y_pred = [int(x) for x in input().split()]
X = []
TP = float(0)
FP = float(0)
FN = float(0)
TN = float(0)
for x, y in zip(y_true, y_pred):
if x == 1:
if y == 1:
TP += 1
else:
FN += 1
elif x == 0:
if y == 1:
FP += 1
else:
TN += 1
X.append(TP)
X.append(FP)
X.append(FN)
X.append(TN)
Y = np.array(X)
Y = Y.reshape(2, 2)
print(Y)
Input:
1100
1000
Output:
[[0. 0.]
[0. 0.]]
提前感谢您的帮助!此外,由于我刚刚开始学习,所有关于我的代码和逻辑内容的 cmets 都非常受欢迎。
【问题讨论】:
标签: python arrays numpy loops matrix