python - Python OR 运算符问题
问题描述
我有一个概率列表,指示输出是 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
[]
是什么导致每个实例都被添加到“某些”数组中?谢谢!
解决方案
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
。
推荐阅读
- c - 无法启动递归互斥锁
- iis - 是否可以在 .NET Core 上以编程方式设置多个启动项目?
- wpf - 顶部对齐 TextBlock 内的文本
- powerbi - 为什么我的零值返回为 PowerBI 中运行总计中的最大值?
- r - 如何让 Leaflet 忽略 NULL 或空对象
- python - 有没有办法使用 CustomJS 回调更新图例补丁标签?
- scala - Scala 产生 IndexedSeq 转换
- javascript - React Native RadioForm 初始未更新
- makefile - CMake 生成的 Makefile 包含“cmake”命令
- python - 基于特色的图像对齐问题