Python 归一化和反归一化遇到的维度不一样问题
今天在用LSTM预测数据(只预测一维数据)的时候,发现在归一化和反归一化的地方出现了问题。我们都知道数据的归一化有很多方法,归一化的目的就是为了避免数据相差太大,影响预测结果。我比较常用的归一化方式:
from sklearn.preprocessing import MinMaxScaler
#归一化
#train_set是我的训练集
scaler = MinMaxScaler(feature_range=(0,1))
train_set_scaled= scaler.fit_transform(train_set)
#反归一化
#predict_test是测试集预测出来的结果
predeict_test_scaler = scaler.inverse_transform(predeict_test)
遇到的问题:
我的目的是预测IP下行平均流量,是一个一维数据的预测,归一化之前的test是个一维数据,但是预测结果output是个三维数据,无法使用上面的方式进行反归一化,我们只需要在模型训练的时候加上Flatten函数,将多维数据一维化
model.add(Flatten())#将多维数据一维化