如何从缩放数据中重建原始数据?

2024-06-06 19:04:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在SCI上学习了一些数据缩放工具。 一旦缩放,我想恢复原始数据。这可能吗?如果没有,如何从原始数据中得到相应的结果。在

这里有一个玩具的例子

from sklearn.datasets import load_iris
from sklearn.preprocessing import scale
iris = load_iris()
X = iris.data
X_scale = scale(X)
print X[:4]
print X_scale[:4]

生产

^{pr2}$

如何从第二个数据恢复原始数据?在


Tags: 工具数据fromimportiris原始数据loadsklearn
2条回答

MarkyD43为这个问题提供了一个很好的答案。下面是将数据转换回原始版本的代码版本

from sklearn.datasets import load_iris
from sklearn.preprocessing import scale
iris = load_iris()
X = iris.data

mean_of_array = X.mean(axis=0)
std_of_array = X.std(axis=0)

X_scale = scale(X)

X_original = (X_scale * std_of_array) + mean_of_array

print X[:4]
print X_original[:4]

生产

^{pr2}$

最常见的特征缩放方法之一是通过将数据集的平均值设置为零,将标准差设置为1来缩放数据。这对许多学习算法非常有用。只需使用以下方法即可实现:

scaled_array = (original_array - mean_of_array)/std_of_array

在Sklearn中,每个数组列都是这样缩放的。要找到原始数据,只需重新排列上面的内容,或者只计算未缩放数据中每列的标准差和平均值。然后,您可以随时使用此选项将缩放数据转换回原始数据。在

有关Sklearn的缩放如何工作的详细信息,文档是here。要了解更多关于特性缩放的知识,可以从wiki page开始。在

相关问题 更多 >