获取Python中的平均预测值
我创建了一个算法,将二进制分类作为概率返回,下面是预测的输出:获取Python中的平均预测值,python,python-3.x,tensorflow,Python,Python 3.x,Tensorflow,我创建了一个算法,将二进制分类作为概率返回,下面是预测的输出: pred = [0.0139619, 0.986038] 我现在需要做的是平均这两个值,得到一个0到1之间的标量,它总结了预测的概率,就像一个例子: averaged_pred = 0.974 # In range 0 to 1 如何实现这一点?很难理解您实际上在做什么,因为我们还需要了解许多其他变量。例如,数组中的哪个值为真,哪个值为假 假设0.0139619为真,我将尽力解释: 在二进制分类中,您有true和false的数据
pred = [0.0139619, 0.986038]
我现在需要做的是平均这两个值,得到一个0到1之间的标量,它总结了预测的概率,就像一个例子:
averaged_pred = 0.974 # In range 0 to 1
如何实现这一点?很难理解您实际上在做什么,因为我们还需要了解许多其他变量。例如,数组中的哪个值为真,哪个值为假 假设0.0139619为真,我将尽力解释: 在二进制分类中,您有true和false的数据。现在在二进制中,true表示为1,false表示为0,因此二进制仅为0和1 现在,用这些值构造一个概率分布。没错,我们没有数字,但我们有价值;在二进制中,true是1。因此,我们将值1除以概率作为一个百分比。这将给我们留下1/98.6038。我们现在可以对false执行同样的操作。二进制中的False是0,因此我们可以执行0/1.39619。最后,因为我们试图得到平均值,所以我们将两者相加。这给了我们两个二项式值之间的平均概率 要在python中实现这一点,我们只需创建for循环:
pred=[0.0139619,0.986038]#二元分类的概率
quantity=[1,0]#Widgits的值,这里是True和False
对于pred中的i:
indx=预测指数(i)
个体概率+=(数量[indx]/(i*100))
打印(问题个人)
基本上,这会发现pred的值是什么,数量的值是什么。它进行计算,并每次将其添加到名为prob_individual的变量中。最后,它打印这个值
我希望这就是你想要的。如果不是,那么我很抱歉,但我就是这样解释的。平均值
0.974
。你想要平均每班吗?如果你对0
和1
的问题求平均值,结果总是0.5
这只是一个例子,我需要得到两个类之间的平均值,我已经看到了,但我不确定函数应该是什么。我们的想法是,average
是一个标量值,如果pred=[100,0]
和1
如果pred=[100]
的话,它将是0
,但我对这个过程感到困惑。可能使用熵-p*ln(p)?如果probs分别为0.5和0.5,则该值约为0.69,在[0,1]的情况下,该值会从那里降到接近0。谢谢!这正是我想要的。:)没问题!我希望你完成你的机器学习!