SKLearn TfidfvectorizerとKerasを組み合わせようとしていますが、次のエラーが発生しました: 例外:モデル入力をチェックしているときにエラーが発生しました:dense_input_1 126)の形をしていますが、形が整っています(700,116)SKlearn Tfidfvectorizer with Keras:予想されるdense_input_1の形状が
マトリックスの形状と関係がありますが、解決方法がわかりません。
vectorizer = TfidfVectorizer(analyzer=self.identity, use_idf=True, max_features=2000)
#a list of sentences
x_train_vec = vectorizer.fit_transform(x_train).toarray()
x_test_vec = vectorizer.fit_transform(self.x_test[i]).toarray()
#labels
y_train = np_utils.to_categorical(y_train, self.nb_classes)
y_test = np_utils.to_categorical(y_test, self.nb_classes)
#get model
model = self.build_model(x_train_vec.shape[1])
model.fit(x_train_vec, y_train, nb_epoch=self.n_epochs, batch_size=self.batch_size, shuffle='batch', verbose=1, validation_data=(x_test_vec, y_test),)
ビルドモデル:
def build_model(self, nb_features):
print("Building model...")
model = Sequential()
model.add(Dense(input_dim = nb_features, output_dim = self.hidden_units_1))
model.add(Activation('relu'))
あなたの寸法は明確に一致していない、x_train_vec、x_test_vecの形状、およびinput_dimに何をしています最初の密な層? –
x_train_vec.shape =(2000,126)、x_test_vec.shape =(700,116)。 input_dimは現在x_train_vec.shape [1] – Jab
と定義されています。問題はDenseが固定寸法データを取り、列車データが2000次元で、テストデータが700次元であることがわかりました。これは動作しません。 –