sklearn 笔记:数据归一化(StandardScaler)

1 StandardScaler原理

 

        去均值和方差归一化。且是针对每一个特征维度来做的,而不是针对样本。 

,其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

 2 用sklearn 实现数据归一化

from sklearn.preprocessing import StandardScaler  # 标准化工具
import numpy as np
 
x_np = np.array([[100, -1., 2.],
                [2., 0., 0.],
                [-1,-2,1]])
scaler = StandardScaler()
x_train = scaler.fit_transform(x_np)
print(x_train)
'''
[[ 1.4137317   0.          1.22474487]
 [-0.67489704  1.22474487 -1.22474487]
 [-0.73883466 -1.22474487  0.        ]]
'''

3 fit_transform 和transform的区别

  •  fit_transform是fit和transform的组合。相当于先fit,再tranform(先拟合数据,再标准化)
  •  fit(x,y)传两个参数的是有监督学习的算法,fit(x)传一个参数的是无监督学习的算法(比如降维、特征提取、标准化)
  •  fit和transform没有任何关系,之所以出来这么个函数名,仅仅是为了写代码方便,所以会发现transform()和fit_transform()的运行结果是一样的。
  • 运行结果一模一样不代表这两个函数可以互相替换,绝对不可以!transform函数是一定可以替换为fit_transform函数的,fit_transform函数不能替换为transform函数!

4 inverse_transform

将标准化后的数据转换为原始数据。


from sklearn.preprocessing import StandardScaler  # 标准化工具
import numpy as np
 
x_np = np.array([[100, -1., 2.],
                [2., 0., 0.],
                [-1,-2,1]])
scaler = StandardScaler()
x_train = scaler.fit_transform(x_np)

x_train 
'''
array([[ 1.4137317 ,  0.        ,  1.22474487],
       [-0.67489704,  1.22474487, -1.22474487],
       [-0.73883466, -1.22474487,  0.        ]])
'''


x_train=np.int32(scaler.inverse_transform(x_train))
x_train
'''
array([[100,  -1,   2],
       [  1,   0,   0],
       [ -1,  -2,   1]])
'''

 

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值