【问题标题】:Confusion matrix exercise in Python using Numpy使用 Numpy 在 Python 中进行混淆矩阵练习
【发布时间】: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


    【解决方案1】:

    在 python 中,如果不插入任何字符,split() 函数具有默认值。默认值为空格('')。所以。不要尝试“1100”,而是“1 1 0 0”。然后,你可以得到你想要的结果。

    【讨论】:

    • 非常感谢......它现在按预期工作。我现在因为没有意识到这一点而感到愚蠢,哈哈。祝你有美好的一天!
    猜你喜欢
    • 2016-07-25
    • 2013-08-25
    • 2013-03-25
    • 2020-10-01
    • 2013-09-17
    • 2016-08-25
    • 1970-01-01
    • 2019-01-22
    • 2020-07-25
    相关资源
    最近更新 更多