2017-03-25 1 views
2

Was ist der beste Weg, um diese eine heiße codierte MatrixPython Numpy One Hot Regionen

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

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

als

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

Mit anderen Worten zu machen, wie eine heiße Array zu entschlüsseln?

+0

Können Sie mir bitte erklären, was ist die Logik dahinter? Was meinst du mit "entschlüsseln"? – kmario23

+0

@ kmario23 umgekehrter Betrieb der One Hot-Codierung. Diese Frage wird bereits beantwortet. –

+0

Ich schrieb eine Matrix, die zu One Hot kodiert wurde, und eine zweite Matrix darunter, die von One Hot umgekehrt wurde. Ich habe gerade Code benötigt, um diese Operation auszuführen. –

Antwort

1

Verwenden np.argmax entlang axis=2 -

a.argmax(2) 

Probelauf -

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]]) 
Verwandte Themen