首页 > 解决方案 > 使用 keras 提高我的模型构建的准确性

问题描述

我正在尝试构建 ANN 架构来预测患病率。我实际上停留在 40% 的准确率,我是机器学习的新手,我尝试了一些技巧,比如更改优化器、层节点数和 dropout 值,但没有任何改进。所以你们能帮我一些建议吗?

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)

在此处输入图像描述

并提前谢谢你

标签: pythonkerasdeep-learningnumbersprediction

解决方案


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

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

推荐阅读