我有一个概率列表,指示在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
[]
是什么导致每个实例都被添加到“某些”数组中的原因?谢谢!
答案 0 :(得分:3)
<?php
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
use SilverStripe\ORM\DataExtension;
class CustomSiteConfig extends DataExtension
{
private static $db = [
'FooterContent' => 'HTMLText'
];
public function updateCMSFields(FieldList $fields)
{
$fields->addFieldToTab("Root.Main",
new HTMLEditorField("FooterContent", "Footer Content")
);
}
}
或多或少与zero_val or one_val > 0.75
等效,因此zero_val != 0 or one_val > 0.75
本质上被视为布尔标志。您需要写zero_val
。