我有一些要在神经网络中训练的特征(X)和输出(Y)。在X和Y中,功能范围都不同。我用MinMaxScaler说scaler_x
和Y说scaler_y
来缩放X。
训练后,我对每种模型的10种不同运行的MSE感兴趣。为此,我只是收集10个不同的MSE值,并使用np.mean(errors)
取其平均值。
我也在收集非比例版本数据中的错误。为此,我将inverse_transform
应用于神经网络的输出并采用:
mse_actual = np.mean(np.square(modelpredUnscaled - actualY))
此后,将应用相同的缩放步骤(取10个误差的平均值等)。
例如,我的问题是:对于模型A,标度的误差平均值大于模型B,但对于相同的A和B,A的非标度误差平均值小于B的误差。
样例在这里:
plt1 http://i68.tinypic.com/dcgdp3.png plt2 http://i68.tinypic.com/2zsaf07.png
这里有什么问题?如何解决?
答案 0 :(得分:0)
我认为您的模型没有错。这只是建模的选择(您选择使用转换后的目标变量进行建模)。
同时,您选择模型的标准应该基于非缩放版本的mse,因为这是您的现实。无论如何,仅在缩放版本上获得更好的性能并不能帮助我们。
因此,选择在未缩放的y中拥有最佳MSE的模型。