用sklearn.preprocessing做数据预处理(一)——Standardization

本文介绍了如何使用sklearn.preprocessing的Standardization方法进行数据预处理,将特征数据转化为标准正态分布。标准化包括去均值中心化和方差规模化,确保数据均值为0,方差为1。此外,文章还提到了StandardScaler类,用于在训练和测试数据上保持一致的转换,并展示了如何使用MinMaxScaler和MaxAbsScaler对数据进行归一化和规模化处理,特别是对稀疏数据和异常值的处理。
摘要由CSDN通过智能技术生成

Standardization标准化:将特征数据的分布调整成标准正态分布,亦叫高斯分布,也就是使得数据的均值为0,方差为1


标准化的原因在于如果有些特征的方差过大,则会主导目标函数,从而使参数估计器无法正确地学习其他特征
标准化的过程为两步:去均值的中心化(均值变为0);方差的规模化(方差变为1)。
在sklearn.preprocessing中提供了一个scale的方法,可以实现以上功能。

from sklearn import preprocessing
import numpy as np

x = np.array([[1.,-1.,2.],
             [2.,0.,0.],
             [0.,1.,-1.]])
#将每一列特征标准化为标准特征分布,注意,标准化是针对每一列而言的
x_scale = preprocessing.scale(x)
x_scale

array([[ 0.        , -1.22474487,  1.33630621],
       [ 1.22474487,  0.        , -0.26726124],
       [-1.22474487,  1.22474487, -1.06904497]])

可以查看标准化后数据的均值和方差,已经变成0,1了
axis=0表示对每一列
x_scale.mean(axis=0)

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

axis=1表示对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值