Python或Operator Troub

2024-04-27 00:44:35 发布

您现在位置:Python中文网/ 问答频道 /正文

在numpy数组中,我有一个指示输出是1还是0的概率列表。我试着把这些概率分成两个独立的数组,基于75%的确定性水平。如果任一概率高于75%,则进入“确定”数组;如果两者都未超过该阈值,则进入“不确定”数组。你知道吗

出于某种原因,当我运行此代码时,它无法正确区分这两个实例,并继续将所有实例添加到“特定”数组中。你知道吗

代码:

probs = rfc.predict_proba(X_validate)

certain = []
uncertain = []

for i in probs[0:10]:
    zero_val = i[0]
    one_val = i[1]

    if zero_val or one_val > 0.75:
        certain.append(i)
    else:
        uncertain.append(i)


print(len(certain))
print(certain)

print(len(uncertain))
print(uncertain)

以下是输出:

10
[array([0., 1.]), array([1., 0.]), array([0.95, 0.05]), array(
[0.77, 0.23]), array([0.74, 0.26]), array([0.38, 0.62]), array
([0.11, 0.89]), array([1., 0.]), array([0.94, 0.06]), array([0
.19, 0.81])]
0
[]

是什么导致每个实例都被添加到“特定”数组中?谢谢!你知道吗


Tags: 实例代码numpylenval数组概率array
1条回答
网友
1楼 · 发布于 2024-04-27 00:44:35

zero_val or one_val > 0.75在这个上下文中或多或少等同于zero_val != 0 or one_val > 0.75,因此zero_val本质上被视为布尔标志。你需要写zero_val > 0.75 or one_val > 0.75。你知道吗

相关问题 更多 >