不同的 X、Y 输入形状

数据挖掘 机器学习 Python 喀拉斯
2022-03-09 21:19:47

我正在 keras 中创建一个 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 层?

1个回答

尝试添加更多的卷积层,并使用超参数来提高准确性。目前,学习率被用作默认值,尝试将其从 0.01 调整到 0.0001。