【发布时间】:2021-01-20 06:50:32
【问题描述】:
我正在尝试在我的 CSV 文件中的数值数据集上应用 CNN,但我遇到了尺寸问题。我的数据集由 26 个特征/列和 1200 个行/样本组成。数据集有 3 个标签。
Dataset = pd.read_csv("...", header=0)
features = ['...']
x = Dataset [features]
y = Dataset .Classifier
sc = PowerTransformer()
x = sc.fit_transform(x)
x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.75)
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
model = Sequential()
model.add(Conv1D(filters=64, kernel_size=3, activation='relu'))
model.add(MaxPooling1D(pool_size=4))
model.add(LSTM(64))
model.add(Dense(3, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=100, batch_size=8, verbose=1)
accuracy = model.evaluate(x_test, y_test)
print(accuracy)
我收到以下错误: ValueError:检查输入时出错:预期 conv1d_1_input 具有 3 维,但得到的数组形状为 (900, 26)
我不确定如何重塑数据。据我所知,我只需要一个向量。
【问题讨论】:
标签: python machine-learning classification conv-neural-network