Я получаю следующую ошибку (ту, которая в заголовке), и я не могу найти никаких вопросов по stackoverflow, которые решают мою проблему, я включаю следующий код:
def build_model(embed_df,ohe_df):
models= []
inputs = []
for col in embed_df:
vocab_size = embed_df[col].nunique()
input1 = tf.keras.layers.Input(shape=(1,),name='embed'+'_'+col)
inputs.append(input1)
embed1 = tf.keras.layers.Embedding(vocab_size,200,\
trainable=True,embeddings_initializer='uniform')(input1)
embed_rehsaped =tf.keras.layers.Reshape(target_shape=(200,))(embed1)
models.append(embed_rehsaped)
#input2 = tf.keras.layers.Input(shape=(len(ohe_df)),\
# name='ohe_input')
#inputs.append(input2)
#models.append(input2)
merge_models= tf.keras.layers.concatenate(models)
dense1 = tf.keras.layers.Dense(1000)(merge_models)
bn1 = tf.keras.layers.BatchNormalization()(dense1)
dense2 = tf.keras.layers.Dense(1000)(bn1)
bn2 = tf.keras.layers.BatchNormalization()(dense2)
out = tf.keras.layers.Dense(target_values, activation='sigmoid')(bn2)
full_model = tf.keras.models.Model(inputs=inputs,\
outputs=out)
full_model.compile(loss=tf.keras.losses.categorical_crossentropy,\
metrics=['accuracy'],
optimizer='adam')
return full_model
def prepar_data_set(data_df):
for col in data_df.columns:
encoder = LabelEncoder()
data_df[col] = encoder.fit_transform(data_df[col])
return data_df
embed_df = prepar_data_set(embed_df)
model = build_model(embed_df,ohe_df)
cat_features = embed_df.columns
input_dict = {
"embed_col1":train[cat_features[0]],
"embed_col2":np.array(train[cat_features[1]]),
"embed_col3":np.array(train[cat_features[2]]),
"embed_col4":np.array(train[cat_features[3]]),
"embed_col5":np.array(train[cat_features[4]]),
"embed_col6":np.array(train[cat_features[5]]),
"embed_col7":np.array(train[cat_features[6]])
}
model.fit(input_dict,np.array(target_encoded),epochs=50,batch_size=64)
IЯ не могу обмениваться данными, и я переименовал столбцы, но предположим, что в моем фрейме данных есть столбцы, названные так: «col1, col2, col3 ... col7». точное сообщение об ошибке будет: Нет данных для "embed_col1". Нужны данные для каждого ключа: ['embed_col1', 'embed_col2', 'embed_col3', 'embed_col4', 'embed_col5', 'embed_col6', 'embed_col7'] .