Pandas DataFrame と Keras 質問する

Pandas DataFrame と Keras 質問する

私は Keras を使用して Python で感情分析を実行しようとしています。そのためには、テキストの単語埋め込みを行う必要があります。問題は、データをモデルに適合させようとするときに発生します。

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

これは Pandas シリーズ オブジェクトです。モデルを適合させて他のデータで検証しようとすると、次のエラーが発生します。

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

ValueError: モデル入力のチェック中にエラーが発生しました:embedding_1_input の形状は (None, 4834) であると予想されましたが、形状が (4834, 1) の配列が取得されました

データを Keras に適した形にするにはどうすればよいでしょうか? np.reshape を試してみましたが、その関数では None 要素を配置できません。

前もって感謝します

ベストアンサー1

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

おすすめ記事