【发布时间】:2019-10-05 22:55:26
【问题描述】:
我正在构建一个 Keras 模型,将数据分类为 9 个类别之一。问题是它只适用于为二进制输出设计的 Sigmoid 激活,其他激活导致 0 精度。我需要更改哪些内容才能将其分类到每个标签中?
#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.compile(loss='categorical_hinge', optimizer='adam', metrics=['accuracy'])
model.fit(x=X_train,y=Y_train, epochs=200, batch_size=20)
【问题讨论】:
-
下次请务必花一分钟时间学习如何正确格式化您的代码(这次为您完成);另外,
Y_train = X_train.reshape((100, 1, 1))是拼写错误还是实际错误(应该是Y_train.reshape((100, 1, 1)))?你的Y数据是一次性编码的吗?
标签: python machine-learning keras tf.keras