完美解决sklearn.exceptions.NotFittedError: This MinMaxScaler instance is not fitted yet. Call ‘fit‘ with

快速解决:
首先在顶层使用

from sklearn.preprocessing import MinMaxScaler
alter = MinMaxScaler()  # 首先在顶层使用

我们只要在之后的使用中,只使用这个alter,例如:

a = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]
_a = alter.fit_transform(a)
b = alter.inverse_transform(_a)

这样就可以了,因为我们当时计算归一化的时候使用的是一个实例化过后的alter,所以我们要在逆归一化的时候,也要使用这个alter,另外这里会碰到另外一个问题:
ValueError: operands could not be broadcast together with shapes

这是因为逆归一化时,需要和原来归一化时所用的数据有相同的shape。
我们要做的是拼接和原来的维度保持一致,因为我们当时是使用一个3行3列计算的,我们不可以单独使用一行一列,这种的。

假设我们通过某种计算,类似神经网络得到了最后一列的输出,[3.3], [6.6], [9.9]我们是不可以单独将这一列放进去逆归一化,我们可以

y_ceshi = [3.3], [6.6], [9.9]
rec = [[0]*3 + i for i in y_ceshi]

这样就完成了扩充,可以愉快的计算了

如果在这里代码有问题,可以私聊我,我看到之后可以帮你解决

猜你喜欢

转载自blog.csdn.net/qq_44697987/article/details/128435787