我是 Keras 的新手。我从这里开始了一个本地示例。示例数据运行得很好。然后我稍微修改了代码以适应我的数据(我的数据文件中结果列在最前面)。然后当我再次运行并尝试预测输入时,每个输入行总是返回相同的结果 – [1. 0.], [1. 0.] ...
。这是我的代码:
我的输入数据示例:
result,i1,i2,i3,i40,1770,2390,1750,18161,1675,2540,2029,19401,1770,2384,1765,17700,1690,2485,2075,19000,1680,2465,2050,19200,1770,2395,1744,17951,1675,2490,2050,19150,1768,2400,1740,17900,1675,2525,2050,1910 .... (总共2312行)
为什么每次都返回相同的结果 [1. 0.]
?我期望至少有一行是 [0. 1.]
。我哪里做错了?
回答:
你没有对输入数据进行归一化处理。因此,这会阻碍训练过程,扰乱梯度更新,你的模型可能什么也学不到。尝试使用像sklearn.preprocessing.StandardScaler
这样的工具进行归一化处理。或者你也可以手动进行:
mean = train_X_2.mean(axis=0)train_X_2 -= meanstd = train_X_2.std(axis=0)train_X_2 /= std