私は 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 でトレーニングする場合に重要です。