首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有像“scaler.inverse_transform()”这样的方法来获得部分标量参数来实现答案的非规范化?

有没有像“scaler.inverse_transform()”这样的方法来获得部分标量参数来实现答案的非规范化?
EN

Stack Overflow用户
提问于 2019-12-26 07:31:30
回答 1查看 1K关注 0票数 0

我试图将我的数据规范化(使用shape (23687,7)),然后将原始数据集的平均值和std保存到中。

在将归一化数据拟合到我的LSTM模型之后,我将得到一个答案数组(形状为(23687,1))。

现在我要做的是:

代码语言:javascript
复制
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()那样的学习方法可以很容易地解决这个问题?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-26 07:46:08

是的,有一种方法。请参阅文档这里

代码语言:javascript
复制
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.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59485293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档