欢迎光临
我们一直在努力

[mcj]使用sklearn进行对数据标准化、归一化以及将数据还原

华为学生服务器每月仅需9元!
文章目录
[隐藏]

我们知道很多网络在训练的时候都会进行归一化,但是如何将归一化后的内容再还原呢?

这里通过使用sklearn.preprocess模块进行处理。

一、标准化和归一化的区别

归一化其实就是标准化的一种方式,只不过归一化是将数据映射到了[0,1]这个区间中。
标准化则是将数据按照比例缩放,使之放到一个特定区间中。标准化后的数据的均值=0,标准差=1,因而标准化的数据可正可负。

二、使用sklearn进行标准化和标准化还原

原理:

[mcj]使用sklearn进行对数据标准化、归一化以及将数据还原
即先求出全部数据的均值和方差,再进行计算。
最后的结果均值为0,方差是1,从公式就可以看出。
但是当原始数据并不符合高斯分布的话,标准化后的数据效果并不好。
导入模块

通过生成随机点可以对比出标准化前后的数据分布形状并没有发生变化,只是尺度上缩小了。

[mcj]使用sklearn进行对数据标准化、归一化以及将数据还原
sklearn.preprocess.StandardScaler的使用:
先是创建对象,然后调用fit_transform()方法,需要传入一个如下格式的参数作为训练集。
X : numpy array of shape [n_samples,n_features]Training set.

通过invers_tainsform()方法就可以得到原来的数据。

可以看到生成的数据的标准差是1,均值接近0。

打印结果如下:


三、使用sklearn进行数据的归一化和归一化还原

原理:
[mcj]使用sklearn进行对数据标准化、归一化以及将数据还原[mcj]使用sklearn进行对数据标准化、归一化以及将数据还原
从上式可以看出归一化的结果跟数据的最大值最小值有关
使用时类似上面的标准化

结果:


 

如果你对这篇文章有什么疑问或建议,欢迎下面留言提出,我看到会立刻回复!

打赏
未经允许不得转载:马春杰杰 » [mcj]使用sklearn进行对数据标准化、归一化以及将数据还原
华为学生服务器每月仅需9元!

留个评论吧~ 抢沙发 评论前登陆可免验证码!

私密评论

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址(选填,便于回访^_^)
切换注册

登录

忘记密码 ?

切换登录

注册