如何将 sklearn MinMaxScaler() 的值转换回实际值?

Posted

技术标签:

【中文标题】如何将 sklearn MinMaxScaler() 的值转换回实际值?【英文标题】:How to convert value from sklearn MinMaxScaler() back to real value? 【发布时间】:2018-04-15 16:42:10 【问题描述】:

我像这样使用 sklearn MinMaxScaler()。

from sklearn.preprocessing import MinMaxScaler

sc = MinMaxScaler()

train_sc = sc.fit_transform(train)
test_sc = sc.transform(test)

它将数据更改为 0-1 范围。在我已经预测它仍然是 0-1 之后。如何转换回实际价值?

【问题讨论】:

【参考方案1】:

在输出预测数据上使用inverse_transform()

from sklearn.preprocessing import MinMaxScaler

data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
scaler = MinMaxScaler()
scaler.fit(data)    

print(scaler.transform([[2, 2]]))
Out>>> [[ 1.5  0. ]]

// This is what you need
print(scaler.inverse_transform([[ 1.5  0. ]]))
Out>>> [[ 2.0  2.0]]

【讨论】:

以上是关于如何将 sklearn MinMaxScaler() 的值转换回实际值?的主要内容,如果未能解决你的问题,请参考以下文章

Python,sklearn:使用 MinMaxScaler 和 SVC 的管道操作顺序

[转]sklearn中MinMaxScaler/StandardScaler的区别

为啥 sklearn MinMaxScaler() 返回超出范围的值而不是错误?

如何在旧的 MinMaxScaler 上重新调整新数据库? [复制]

使用Sklearn的MinMaxScaler做最简单的归一化

sklearn 中的 MinMax Scaler 不会标准化 0 到 1 之间的列值