我正在尝试构建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)
在此先感谢您
答案 0 :(得分:0)
这是回归模型,而不是分类模型,因此您应该在输出层中使用“线性”。
model.add(Dense(1,activation="linear"))