在python上数据归一化后怎样还原

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python上数据归一化后怎样还原相关的知识,希望对你有一定的参考价值。

看到各位大佬们都会把原始数据进行归一化,再处理。可是都没有人讲怎样把归一化的数据还原回来。
目前可找到的方法就只有matlab上的这个函数:
xtt = mapminmax('reverse',y1,ps)
在python上,就看到许多人推荐用sklearn进行归一化,但没有还原的方法呀。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你要问我为什么 要还原?
把日期和气温的数据放到模型里跑半天,想看看下一天的气温,结果出来一个0.837之类东西。

sklearn中transform用来归一化后,可以用inverse_transform还原。
参考技术A 归一化用fit_transform()
数据还原用inverse_transform()

数据的归一化处理

我输入一些数据比如说,a,b,c,d……,经过归一化处理后得到一组数据,我用归一化后的这组数据进行计算得到x,y,z……,我怎样将x,y,z……,反归一化处理,他们的比例还能按照以前的计算吗?
谢谢!
那我该怎么办呢?

是的,把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。

归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在某个区间上是统计的坐标分布。归一化有同一、统一和合一的意思。

1、(0,1)标准化:

这是最简单也是最容易想到的方法,通过遍历feature vector里的每一个数据,将Max和Min的记录下来,并通过Max-Min作为基数(即Min=0,Max=1)进行数据的归一化处理:

LaTex:{x_normalization=\\fracx-MinMax-Min

Python实现:

2、Z-score标准化:


这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,这里的关键在于复合标准正态分布,个人认为在一定程度上改变了特征的分布,关于使用经验上欢迎讨论,我对这种标准化不是非常地熟悉。

参考技术A   数据
归一化方法
有两种形式,一种是把数变为(0,1)之间的小数,一种是把有
量纲
表达式
变为无量纲表达式。
  1、把数变为(0,1)之间的小数
  主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到
数字信号处理
范畴之内。
  2、是把有量纲表达式变为无量纲表达式
  归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。
参考技术B 那你就看看你的处理流程,你觉得是可能的吗?
至少我的感觉是,你归一化了,那么很多不同的数据可能会在归一化后得到相同的结果,那你肯定无法区分这些数据吧
----------------------------------------------------------
额。。我根本不知道你在做的什么,怎么知道该怎么办呢。。
笼统的来讲,如果你需要那些归一化之前的数据,就应该保留他们的一个副本啊
参考技术C 归一化以后,数据本身已经发生变化了,或者说被替代了,不可能有反归一化这个过程~~

以上是关于在python上数据归一化后怎样还原的主要内容,如果未能解决你的问题,请参考以下文章

matlab中怎样将矩阵归一化处理?

matlab 怎样进行数据归一化

数据的归一化处理

有关利用libsvm对数据进行归一化的问题。

sklearn进行对数据标准化、归一化以及将数据还原的方法

关于用matlab进行向量归一化的问题