2017-01-10 29 views
1

私は出力がサイズ19のソフトマックス層であるモデルを訓練しています。model.predict(x)を試してみると、各入力について、19のクラスの確率分布のように見えます。私はmodel.predict_classesを試して、xのサイズの数値配列を得ました。それぞれの出力は0です。どのように出力に対して1つのホットベクトルを得ることができますか?多項ロジスティック回帰のKeras model.predict

答えて

0

したがって、implementationを慎重にチェックすると、バイナリ分類のみで動作することがわかるので、predcit_classesのドキュメントは何らかの誤解を招くことがあります。

import numpy as np 
classes = np.argmax(model.predict(x), axis = 1) 

...各例えば、クラス番号の配列を取得するために、次のように - (機能argmax基本的に)あなたの問題を解決するために、あなたはnumpyライブラリを使用することができます。ワンホットベクトルを得るために - あなたは、次のようにkeras組み込み関数to_categoricalを使用する場合があります。

import numpy as np 
from keras.utils.np_utils import to_categorical 
classes_one_hot = to_categorical(np.argmax(model.predict(x), axis = 1)) 
関連する問題