web-dev-qa-db-ja.com

Kerasにデータを入力する方法は?具体的には、3つ以上の列がある場合、x_trainとy_trainは何ですか?

どうすればケラにデータを入力できますか?構造は何ですか?具体的には、3つ以上の列がある場合、x_trainとy_trainは何ですか?

これは私が入力したいデータです:

enter image description here

この例では、Kerasのドキュメントにある多層パーセプトロンニューラルネットワークコードでXtrainを定義しようとしています。 ( http://keras.io/examples/ )コードは次のとおりです。

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD

model = Sequential()
model.add(Dense(64, input_dim=20, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))

sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)

model.fit(X_train, y_train, nb_Epoch=20, batch_size=16)
score = model.evaluate(X_test, y_test, batch_size=16)

編集(追加情報):

ここを見てください: Python Kerasディープラーニングパッケージのデータ型は何ですか?

Kerasは、theano.config.floatX浮動小数点型を含むnumpy配列を使用します。これは、.theanorcファイルで構成できます。通常、CPU計算の場合はfloat64、GPU計算の場合はfloat32になりますが、必要に応じてCPUでの作業時にfloat32に設定することもできます。コマンドを使用して、適切なタイプのゼロで埋められた配列を作成できます。

X = numpy.zeros((4,3), dtype=theano.config.floatX)

質問:ステップ1は、Excelファイルの上記のデータを使用して浮動小数点numpy配列を作成するように見えます。勝者の列はどうすればよいですか?

7
pr338

それはすべてあなたの必要性に依存します。

列A-Nに示されているパラメーターに基づいて勝者を予測したいようです。次に、input_dimを14に定義し、X_trainを(N、14)numpy配列に定義する必要があります。このような:

[
   [9278,  37.9, ...],
   [18594, 36.3, ...],
   ...
]

予測セットには2つの項目(2人の大統領候補LOL)しか含まれていないようです。したがって、次のように(N、2)numpy配列で回答Y_trainをエンコードする必要があります。

[
   [1, 0],
   [1, 0],
   ...
   [0, 1],
   [0, 1],
   ...
]

ここで、[1,0]は、バラク・オバマが勝者であることを示し、その逆も同様です。

12
Ian Chen