Есть данные, которые содержат A, B, C. Значение C должно быть спрогнозировано из значений A и B.
![enter image description here](https://i.stack.imgur.com/Lj0umm.png)
Данные были разделены и масштабированы.
![enter image description here](https://i.stack.imgur.com/sTS7mm.png)
Модель без сверточного слоя.
from keras.models import Sequential
from keras.layers import Dense, Conv1D
features_count = len(X_train.columns)
model = Sequential([
Dense(64, input_shape=(features_count,)),
Activation('relu'),
Dense(32),
Activation('softmax'),
Dense(1),
])
model.compile(optimizer="adam", loss='mse')
model.fit(X_train.values, y_train.values, epochs=10, batch_size=1, verbose=1)
model.evaluate(X_test, y_test, batch_size=1)
Результат : 1.0033315420150757
Добавлено Conv1D:
model = Sequential([
Conv1D(filters=256, kernel_size=5, padding='same', activation='relu', input_shape=(features_count,)),
Dense(64),
Activation('relu'),
Dense(32),
Activation('softmax'),
Dense(1),
])
Результат : вход 0 несовместим со слоем conv1d_3: ожидаемый ndim = 3, найденный ndim = 2
input_shape=(features_count,)
заменен на
input_shape=(features_count,1)
Результат : Ошибка при проверке ввода: ожидалось, что conv1d_4_input будет иметь 3 измерения, но получит массив с формой (3, 2)
Что не так с добавлением сверточного слоя таким образом? Как добавить сверточный слой в модель Keras?