2017-03-25 17 views
2

ワンホット配列を解読する方法を、Pythonのnumpyのワンホット

つまり
array([[0, 0, 1], 
     [2, 1, 0]]) 

として

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

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

このワンホットエンコードされた行列を作るための最善の方法は何ですか?サンプル実行

a.argmax(2) 

- -

+0

あなたは、この背後にあるロジックに何を説明していただけますか?あなたは「デコード」してどういう意味ですか? – kmario23

+0

@ kmario23 1つのホットエンコーディングの逆の操作。この質問はすでに以下で解答されています。 –

+0

私はOne Hotにエンコードされたマトリックスと、One Hotから戻ってきた2番目のマトリックスを書きました。私はちょうどこの操作を行うためのコードが必要です。 –

答えて

1

使用np.argmaxaxis=2に沿っ

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