我有一个数据集,它是由N_features个[N_samples,N_features]组成的N_Samples个数据集,以及一个对应的[N_samples,N_labels]个标签集 我想使用来自keras的Conv1D或Conv2D,但我不知道如何重塑数据以适应
数据集大约有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)
答案 0 :(得分:0)
如果要使用Conv1D
,则只需添加尺寸为1的通道尺寸,即X_train.reshape(-1, X.shape[1], 1)
。如果您想使用Conv2D
,则可以将其重塑为X_train.reshape(-1, 8, 4, 1)
或以任何类似的方式进行整形,以使第二维和第三维的乘积等于要素的数量。