有没有像"scaler.inverse_transform()"这样的方法可以让部分缩放器参数去规范



我正在尝试规范化我的数据(形状(23687,7((,然后将原始数据集的平均值和标准保存到"normalized_param.pkl">

将规范化数据拟合到我的 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)

值错误:形状 (23687,1( 的不可广播输出操作数与广播形状 (23687,7(
不匹配


我认为这是因为test_scaler对象内部有 7 个暗淡的参数,所以如果我想只对 1 个暗淡的数据进行非规范化,我应该使用test_scaler.mean_[-1]「test_scaler.scale_[-1]来获取我要计算的最后一个参数。

但是,我认为这很复杂,有没有像scaler.inverse_transform()一样可以轻松解决此问题的sklearn方法?

谢谢

是的,有一种方法。请参阅此处的文档。

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.

最新更新