Изменение формы 2D-данных для сверточной нейронной сети (Keras) - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть набор данных N_Samples by N_features [N_samples, N_features] и соответствующий набор меток [N_samples, N_labels]. Я хочу использовать Conv1D или Conv2D из керас, но я не знаю, как изменить данные, чтобы они соответствовалиit

В наборе данных содержится около 100 000 выборок с 32 признаками, а набор данных меток такой же длины с 6 классами меток (100000, 6)

model = Sequential()

model.add(Conv1D(64, kernel_size=3, activation=’relu’, input_shape=(None,N_features,1)))

# (i would add other layers after this but right now I don't have any)

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

model.fit(X_train, y_train, batch_size=32, epochs=3)

model.predict(X_test)

1 Ответ

0 голосов
/ 22 декабря 2018

Если вы хотите использовать Conv1D, вам просто нужно добавить размер канала с размером 1, то есть X_train.reshape(-1, X.shape[1], 1).Если вы хотите использовать Conv2D, вы можете изменить его на X_train.reshape(-1, 8, 4, 1) или любым другим подобным образом, чтобы произведение второго и третьего измерения было равно количеству признаков.

...