You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

加载已训练回归模型后,新输入的预测值始终相同的问题求助

问题分析与解决

你的问题根本不是模型需要重置,而是输入缩放的代码写错了。

看这段代码:

new_input = inputScaler.fit_transform(new_input )

每次处理新输入都调用fit_transform,会让inputScaler重新基于当前这单个样本计算缩放的最小值和最大值——单样本的min和max都是它自己,所以缩放后的值永远是0(MinMaxScaler默认缩放到[0,1]区间)。不管你输入的原始数据有啥差异,经过这步处理后全变成一样的输入,模型自然输出相同结果。

修正方法

把fit_transform改成transform,直接用训练时已经拟合好的scaler规则处理新输入:

loaded_model = tf.keras.models.load_model("model")

inputScaler = joblib.load(input_sc)
outputScaler = joblib.load(output_sc)

# 只做transform,不重新fit
new_input = inputScaler.transform(new_input )
prediction = loaded_model.predict(new_input )

inversed_predictData = outputScaler.inverse_transform(prediction)

sum_pred = np.sum(inversed_predictData, axis=1)
print(sum_pred)

额外检查点

  • 确认每次传入的new_input确实是不同的(可以打印出来验证)
  • 确保加载的inputScaler和outputScaler是训练时保存的那两个,没有被覆盖或错误替换

内容的提问来源于stack exchange,提问作者mzt1845

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:20:55