我试图将我的数据规范化(使用shape (23687,7)),然后将原始数据集的平均值和std保存到中。
在将归一化数据拟合到我的LSTM模型之后,我将得到一个答案数组(形状为(23687,1))。
现在我要做的是:
test_sc_path = os.path.join('normalized_standard', 'normalized_param.pkl')
test_scaler = load(test_sc_path)
test_denorm_value = test_scaler.inverse_transform(test_normalized_data)ValueError:形状为(23687,1)的非广播输出操作数与广播形状(23687,7)不匹配
我认为这是因为test_scaler对象中有7个dim参数,所以如果我只想去规范化一个dim数据,我应该使用test_scaler.mean_[-1]和「test_scaler.scale_[-1]来得到我想要计算的最后一个param。
然而,我认为这是相当复杂的,是否有像scaler.inverse_transform()那样的学习方法可以很容易地解决这个问题?
谢谢
发布于 2019-12-26 07:46:08
是的,有一种方法。请参阅文档这里。
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(data) # Basically fits the data, store means & standard deviations.
scaler.transform(data) # Standardize (Normalize) the data with the scaler parameters
scaler.fit_transform(data) # Fits & Transform
scaler.inverse_transform(data) # Apply inverse transformation for the input data.https://stackoverflow.com/questions/59485293
复制相似问题