2017-01-05 28 views
2

私は、ケラスが私のモデルに合うように使うことができるワンホットベクトルの配列に整数のワンホットベクトルの配列を作ることを試みています。ここでは、コードの関連部分です:Kerasを使用する際の問題

Y_train = np.hstack(np.asarray(dataframe.output_vector)).reshape(len(dataframe),len(output_cols)) 
dummy_y = np_utils.to_categorical(Y_train) 

は以下Y_traindummy_yが実際にあるかを示す画像です。

私は私を助けることができるto_categoricalための任意のドキュメントを見つけることができませんでした。

ありがとうございます。

+1

Y_trainはすでにワンホットベクトルです。これを直接使用することができ、to_categoricalを使用する必要はありませんが、実際の問題は何ですか? –

答えて

10

np.utils.to_categoricalは、ラベル付きデータの配列(0からnb_classes-1まで)を1ホットベクトルに変換するために使用されます。

例のある公式文書。

In [1]: from keras.utils import np_utils 
Using Theano backend. 

In [2]: np_utils.to_categorical? 
Signature: np_utils.to_categorical(y, nb_classes=None) 
Docstring: 
Convert class vector (integers from 0 to nb_classes) to binary class matrix, for use with categorical_crossentropy. 

# Arguments 
    y: class vector to be converted into a matrix 
    nb_classes: total number of classes 

# Returns 
    A binary matrix representation of the input. 
File:  /usr/local/lib/python3.5/dist-packages/keras/utils/np_utils.py 
Type:  function 

In [3]: y_train = [1, 0, 3, 4, 5, 0, 2, 1] 

In [4]: """ Assuming the labeled dataset has total six classes (0 to 5), y_train is the true label array """ 

In [5]: np_utils.to_categorical(y_train, nb_classes=6) 
Out[5]: 
array([[ 0., 1., 0., 0., 0., 0.], 
     [ 1., 0., 0., 0., 0., 0.], 
     [ 0., 0., 0., 1., 0., 0.], 
     [ 0., 0., 0., 0., 1., 0.], 
     [ 0., 0., 0., 0., 0., 1.], 
     [ 1., 0., 0., 0., 0., 0.], 
     [ 0., 0., 1., 0., 0., 0.], 
     [ 0., 1., 0., 0., 0., 0.]]) 
関連する問題