python - 在 keras model.predict 中获取所有相同的值
问题描述
我正在使用 keras LSTM 层,我的输出预测彼此非常相似。它们相差不超过 2 个单位。这是我的代码:
model = Sequential()
model.add(LSTM(5, activation='relu', input_dim=5))
model.add(Dense(units=1, activation='sigmoid'))
model.compile(loss='mean_squared_error',
optimizer='sgd',
metrics=['accuracy'])
prediction = model.predict(x_scaled_test, batch_size=128)
Gold_prices = prediction*(max(Input['Gold Price']) - min(Input['Gold Price'])) + min(Input['Gold Price'])
print(Gold_prices)
我的输出是:
[[ 1288.44628906]
[ 1289.5736084 ]
[ 1289.57202148]
[ 1287.84240723]
[ 1287.92114258]
[ 1287.15515137]
[ 1287.58068848]
[ 1287.59069824]
[ 1287.55432129]
[ 1286.953125 ]
[ 1286.72021484]
[ 1285.88684082]
[ 1285.25085449]
[ 1285.2557373 ]
[ 1285.06494141]
[ 1285.65588379]
[ 1285.36767578]
[ 1285.87121582]
[ 1286.1427002 ]
[ 1286.52526855]
...
我正在为我的激活函数使用 relu 和 sigmoid 函数。
解决方案
根据this issue,您可以尝试以下操作:
- 减少你的批量大小(当你有小数据集时)
- 衰减你的学习率(经过多次训练)
- 缩放您的数据集(并在预测后重新缩放)
推荐阅读
- grafana - Grafana 中的条件模板值
- php - Laravel 如何为时事通讯返回自定义错误消息
- oracle - Oracle 未能像包含 % 那样进行搜索
- sql - SQL 查询未按预期运行(之间)
- php - 如何在php中计算数组中的唯一值
- c# - Json.NET JsonConvert.SerializeObject 类型不兼容
- android - 即使 MediaPlayer 已经在播放声音,如何在单击按钮时播放声音?
- c# - 使用列表
在 Kentico 电子邮件模板中的宏 - javascript - 如何编码本地存储中的图像数组?
- python-3.x - pyinstaller pyqt5 configparser.nosectionerror:no section "png_path": failed to execute script .py