如何使用MinMaxScaler修正变形数据与实际数据之间的顺序?

时间:2019-02-06 09:18:38

标签: python scikit-learn

我有一些要在神经网络中训练的特征(X)和输出(Y)。在X和Y中,功能范围都不同。我用MinMaxScalerscaler_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

这里有什么问题?如何解决?

1 个答案:

答案 0 :(得分:0)

我认为您的模型没有错。这只是建模的选择(您选择使用转换后的目标变量进行建模)。

同时,您选择模型的标准应该基于非缩放版本的mse,因为这是您的现实。无论如何,仅在缩放版本上获得更好的性能并不能帮助我们。

因此,选择在未缩放的y中拥有最佳MSE的模型。