Я получил обученные модели сети keras. К сожалению, я не могу использовать функцию прогнозирования на них. Создание моделей:
def create_model(self, item_id):
self.model = Sequential()
n_cols = self.train_X.shape[1]
self.model.add(Dense(64, activation='relu', input_shape=(n_cols,)))
self.model.add(Dense(32, activation='relu'))
self.model.add(Dense(32, activation='sigmoid'))
self.model.add(Dense(64, activation='sigmoid'))
self.model.add(Dense(64, activation='sigmoid'))
self.model.add(Dense(2, activation='softmax'))
self.model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
early_stopping_monitor = EarlyStopping(patience=3)
self.model.fit(self.train_X, self.train_Y, validation_split=0.2, epochs=30, callbacks=[early_stopping_monitor])
self.save_model(item_id)
Функция прогнозирования выглядит следующим образом
def valuate_criteria(self, item_id):
if self.models[item_id] is not None:
test_y_predictions = self.models[item_id].predict(self.test_X.to_numpy().shape[1])
if test_y_predictions[0][1] >= 0.75:
return True
return False
Данные, которые я передаю, это фрейм данных, который выглядит следующим образом
age destination sex transport criterion weather
0 2 23 1 29 1 1
Я использую тот же формат данных для обучения и для прогнозирования. Я получил эту ошибку:
Error when checking input: expected dense_43_input to have shape (6,) but got array with shape (1,)
Заранее спасибо. Я потерян в этом уже 3 дня.
train_df: этот элемент равен 0 или 1, это то, что я пытаюсь предсказать
age destination sex transport criterion weather item
0 2 23 1 29 1 1 0
Так я получаю данные обучения из предыдущего кадра данных
self.train_X = self.train_df.drop(columns=['item'])
self.train_Y = to_categorical(self.train_df[['item']])
Создание и обучение работают модули, проблема в том, что я использую функцию прогнозирования с данными в self.test_X, а именно:
age destination sex transport criterion weather
0 2 23 1 29 1 1
ОБНОВЛЕНИЕ: Я нашел решение, используя этот вопрос Тензор не является элементом этого графика ; развертывание модели Keras