我有两组分类(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的文档似乎描述了我需要执行的操作,但是我不明白为什么它返回带有1的数组。有没有一种方法可以np.stack通过指定我要选择的值的轴来减小a的维数?
我想要的结果是:
class_result = np.array([[1,3],[1,0]])
相关分类