sklearn.preprocessing的部分用法

类:sklearn.preprocessing.StandardScaler(copy=Truewith_mean=Truewith_std=True)

通过减去均值并缩放到单位变量来标准化特征。


公式:(x-mean)/std,mean为均值,std为方差,计算时对每个属性/每列分别进行。结果是对于每个属性/每列的数据服从均值为0,方差为1的分布。

实现方式有两种:

(1)使用sklearn.preprocessing.StandardScaler()类,使用该类可以保存训练数据集的参数(scale_,mean_,var_),然后直接使用其对象转换测试数据集

>>>import numpy as np

>>>import sklearn.preprocessing as preprocessing

>>>scaler=preprocessing.StandardScaler()

>>>iiii=np.array([[1.,-1.,2.],[2.,0.,0.],[0,1,-1]])

>>>jjjj=scaler.fit(iiii)

>>>jjjj

StandardScaler(copy=True, with_mean=True, with_std=True)

>>>jjjj.mean_

array([1. , 0. , 0.33333333])

>>>jjjj.scale_

array([0.81649658, 0.81649658, 1.24721913])

>>>jjjj.var_

array([0.6666667, 0.66666667, 1.55555556])


(2)使用sklearn.preprocessing.scale()函数,可以直接给定数据进行标准化。

>>>from sklearn import preprocessing

>>>import numpy as np

>>>x=np.array([[1., -1., 2.],[2., 0., 0.],[0., 1., -1.]])

>>>x_scaled=preprocessing.scale(x)

>>>x_scaled

array([[0., -1.22..., 1.33...],

           [1.22..., 0., -0.26...],

           [-1.22..., 1.22..., -1.06...]])

#处理后,数据的均值和方差分别为0和1

>>>x_scaled.mean(axis=0)

array([0., 0., 0.])

>>>x_scaled.std(axis=0)

array([1., 1., 1.])






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值