使用keras改善模型的准确性

时间:2019-06-07 19:50:06

标签: python keras deep-learning numbers prediction

我正在尝试构建ANN架构来预测疾病发生率。我实际上停留在40%的准确性上,我是机器学习的新手,我尝试了一些技巧,例如在不进行任何改进的情况下更改优化器,层节点数和丢失值。 你们可以帮我一些建议吗?

x数组由10列组成

y数组仅是疾病的一列

这是我的模特

def build_dropout_model(rate):
  model = Sequential()
  model.add(Dense(10,input_shape=(10,)))
  model.add(Dropout(rate))  
  model.add(Dense(256,kernel_constraint=NonNeg(),activation="relu"))
  model.add(Dense(256,kernel_constraint=NonNeg(),activation="relu"))
  model.add(Dense(128,kernel_constraint=NonNeg(),activation="relu"))
  model.add(Dense(1,activation="sigmoid"))
  model.compile(optimizer='adam',loss='mean_absolute_error',metrics=['accuracy'])
  return model
model = build_dropout_model(0.2)
history = model.fit(xtr,ytr,epochs=1000,verbose=2)
loss, acc=model.evaluate(xtst,ytst)

enter image description here

在此先感谢您

1 个答案:

答案 0 :(得分:0)

这是回归模型,而不是分类模型,因此您应该在输出层中使用“线性”。

model.add(Dense(1,activation="linear"))