python - 使用 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)
并提前谢谢你
解决方案
这是一个回归模型,而不是分类模型,因此您应该在输出层中使用“线性”。
model.add(Dense(1,activation="linear"))
推荐阅读
- python - 使用 Oozie 调度具有依赖项的 Python 脚本
- flutter - 颤动中gridview项目上的动画
- php - 如何逃避 Codeigniter 语言功能?
- android - Fragment与ViewLifecycleOwner的偏差
- c - 如何在运行时打印 .so 文件位置?
- c - 使用 nanosleep 在 c 代码中利用小停顿的问题
- c# - 作为 Func 的参数传递时的异步方法
Wrapper 方法中的占位符我得到编译错误 - git - 如何更改合并操作中使用的 Gitlab 中的 core.autocrlf?
- javascript - Javascript heap out of memory 永久解决方案
- html - html5 中的视频不适用于所有浏览器