2017-03-25 4 views
2

Quelle est la meilleure façon de faire ce One Hot matrice codéePython Numpy One Hot aux régions

array([[[1, 0, 0], 
     [1, 0, 0], 
     [0, 1, 0]], 

     [[0, 0, 1], 
     [0, 1, 0], 
     [1, 0, 0]]]) 

comme

array([[0, 0, 1], 
     [2, 1, 0]]) 

En d'autres termes, comment décoder un tableau à chaud?

+0

Pouvez-vous s'il vous plaît expliquer quelle est la logique derrière tout cela? que voulez-vous dire par «décoder»? – kmario23

+0

@ kmario23 opération inverse de codage One Hot. Cette question est déjà répondu ci-dessous. –

+0

J'ai écrit une matrice, qui a été codée à One Hot, et une deuxième matrice ci-dessous, qui a été inversée à partir de One Hot. J'ai juste besoin de code pour faire cette opération. –

Répondre

1

Utilisez np.argmax le long axis=2 -

a.argmax(2) 

run Exemple -

In [186]: a 
Out[186]: 
array([[[1, 0, 0], 
     [1, 0, 0], 
     [0, 1, 0]], 

     [[0, 0, 1], 
     [0, 1, 0], 
     [1, 0, 0]]]) 

In [187]: a.argmax(2) 
Out[187]: 
array([[0, 0, 1], 
     [2, 1, 0]])