Я создаю модель CNN в керасе для классификации данных. Есть 150 функций (представленных в виде столбцов), каждая из которых имеет метку от 1 до 9. Проблема в том, что я запутался в том, как использовать это в Keras, так как существует огромное количество функций для меток, причем эти функции могут бытьпоказаны с размерами 100, 150 и этикетки с размерами 100,1. Было бы полезно понять, как правильно обучать эти данные в модели Keras.
#Reshape data to add new dimension
X_train = X_train.reshape((100, 150, 1))
Y_train = X_train.reshape((100, 1, 1))
model = Sequential()
model.add(Conv1d(1, kernel_size=3, activation='relu', input_shape=(None, 1)))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.summary()
model.compile(loss='categorical_hinge',
optimizer='adam',
metrics=['accuracy'])
model.fit(x=X_train,y=Y_train,
epochs=200,
batch_size=20)
Текущий код работает, но слой Conv1d, похоже, не меняет точность модели. Как я могу заставить модель получить точность выше 20%, которой она в настоящее время достигает, и использовать слой Conv1d?