numpy中矩阵的单热表示

时间:2017-01-06 19:49:29

标签: python numpy argmax

在三维张量中,从一个值矩阵到同一个热点表示的最简单/最聪明的方法是什么?例如,如果矩阵是argmax之后的索引,如张:

indices=numpy.argmax(mytensor,axis=2)

张量是3D [x,y,z],索引自然是[x,y]。现在你想要转到3D [x,y,z]张量,它在轴= 2的最大位置有1,在任何其他位置有0。

P.S。我知道向量到1-热矩阵的答案,但这是1-热张量的矩阵。

1 个答案:

答案 0 :(得分:3)

使用broadcasting -

的完美设置之一
indices[...,None] == np.arange(mytensor.shape[-1])

如果您需要0s1s的整数,请附加.astype(int)