我正在使用Keras构建神经网络并且模型成功编译并且我已经对数据进行了规范化。
然而,当我使用model.predict(xtest)时,我得到每个预测输出的相同值
System.out.println(arr[arr.length - 1][0]);
我得到以下均方误差和mae:
def model_final():
model = models.Sequential()
model.add(layers.Dense(64, activation='relu',
input_shape=(xtrain.shape[1],),
kernel_regularizer = regularizers.l2(0.001)))
model.add(layers.Dense(64, activation='relu',
kernel_regularizer = regularizers.l2(0.001)))
model.add(layers.Dense(1))
model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
return model
model = model_final()
model_final = model.fit(xtrain, ytrain, epochs = 100, batch_size = 10, verbose = 0)
model_final_eval = model.evaluate(xtest, ytest)
然后,当我使用214/214 [==============================] - 3s 14ms/step
[1.9285373412534785e-06, 0.00061284683733987052]
时,我得到以下输出:
model.predict(xtest)
表示array([[ 0.0014801],
[ 0.0014801],
[ 0.0014801],...
中的所有值。
我假设数据集中所有值的完全相同的预测值不正确。
建议?
谢谢!
答案 0 :(得分:0)
df = sc.parallelize(df.collect()).toDF().cache()
未受过培训,您应该使用model
您是否在同一个脚本上调用model_final.predict(...)
?如果没有,您可能需要加载权重。