我有两套分类( Lc1
和Lc2
)和两套概率( Lp1
和Lp2
)。 Lp1
是一组概率的描述在分类可能性Lc1
。 我想在信息结合Lc1
和Lc2
使用是最有可能进入分类class_result
。
import numpy as np
#example data
Lp1 = np.ones((2,2))*0.5
Lc2 = np.ones((2,2))
Lc1 = np.ones((2,2))
Lp2 = np.ones((2,2))*0.5
#Change some values for the example
Lp1[1,1] =0.95
Lc1[1,1] = 0
Lc2[0,1]=3
Lp2[0,1]=.95
p_stack = np.stack((Lp1,Lp2))
c_stack = np.stack((Lc1,Lc2))
index = np.argmax(p_stack, axis=2)
class_result = np.take(c_stack, index)
我最初的方法是创建一个np.stack
为集分类和概率,并使用np.argmax
寻找到的最大值出现在轴指数p_stack
。 对于文档np.take似乎来形容,我需要做的工作,但我不明白为什么它返回与那些阵列。 是否有减少的维度的方式np.stack
通过指定我要选择的值的轴?
我期望的结果是:
class_result = np.array([[1,3],[1,0]])