2017-05-09 8 views
4

私は、Kerasを使用してPythonで感情分析を実行しようとしています。そうするには、私はテキストの埋め込みをする必要があります。私の列データのパンダのデータフレームとKeras

model_1 = Sequential() 
model_1.add(Embedding(1000,32, input_length = X_train.shape[0])) 
model_1.add(Flatten()) 
model_1.add(Dense(250, activation='relu')) 
model_1.add(Dense(1, activation='sigmoid')) 
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 

形状が

(4834,) 

され、パンダのシリーズオブジェクトです:私は私のモデルにデータを適合しようとすると、問題が表示されます。私は私のモデルに適合し、いくつかの他のデータと、それを検証しようとすると、私はこのエラーを取得:

model_1.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=2, batch_size=64, verbose=2) 

ValueError: Error when checking model input: expected embedding_1_input to have shape (None, 4834) but got array with shape (4834, 1)

どのように私はKerasのため、それが最適にするために自分のデータを再構築することができますか?私はnp.reshapeで試してきましたが、その関数にNone要素を置くことはできません。事前に

おかげ

答えて

4

Noneしたがって、あなたがそれを定義することはできませんトレーニングに入ると予想行数です。また、Kerasは、入力としてnumpyの配列を必要とし、パンダのデータフレームは必要としません。まず、dfをdf.valuesでnumpyの配列に変換し、次にnp.reshape((-1, 4834))を実行します。 np.float32を使用する必要があります。これはGPUでトレーニングする場合に重要です。

関連する問題