数据预处理-标准化

标准化

通常确定目标变量的特征会有多个,原始数据中不同特征的数值大小往往差异很大,数值大的特征对目标变量的影响程度将会比数值小的特征对目标变量的影响大,数值小的特征容易被忽略。而通过标准化处理,可以使得不同的特征变量具有相同的尺度(不同特征的值都在某个范围内),消除了特征之间数值量纲的差异性。

数据分析及建模过程中,许多机器学习算法也需要其输入特征为标准化形式。
例如,SVM算法中的RBF核函数,线性模型中的𝑙1、𝑙2正则项,目标函数往往假设其特征均值在0附近且方差齐次;若样本的特征之间的量纲差异太大,样本之间相似度评估结果将存在偏差。

常见数据标准化方法:
Z-Score标准化
Min-Max标准化
RobustScaler标准化

1、Z-Score标准化

对特征取值中的每一个数据点作减去均值并除以标准差的操作,使得处理后的数据具有固定均值和标准差,处理函数为:
𝑓_𝑖′=(𝑓_𝑖−𝜇)/𝜎
其中,𝑓_𝑖′为标准化后各数据点的取值, 𝑓_𝑖为原始各数据点取值,𝜇为该特征取值的平均值,𝜎为该特征取值的标准差。
适用于特征的最大值或最小值未知、样本分布非常离散的情况。
实现:
sklearn.preprocessing.StandardScaler
preprocessing.StandardScaler(
copy=True, #如果为False,尝试避免复制并改为直接替换
with_mean=False, #如果为True,则在缩放之前将数据居中
with_std=False #如果为True,则将数据缩放为单位方差(或单位标准差)
)

2、Min-Max标准化

Min-Max标准化(离差标准化或最大-最小值标准化)通过对特征作线性变换,使得转换后特征的取值分布在 [0,1] 区间内。
𝑓_𝑖*=(𝑓_𝑖−𝑓_𝑚𝑖𝑛)/(𝑓_𝑚𝑎𝑥−𝑓_𝑚𝑖𝑛 )
将特征𝑓映射到 [a,b] 区间内:
𝑓_𝑖*=(b−a)/(𝑓_𝑚𝑎𝑥−𝑓_𝑚𝑖𝑛 ) (𝑓_𝑖−𝑓_𝑚𝑖𝑛 )+a
𝑓_𝑚𝑖𝑛为特征的最小值,𝑓_𝑚𝑎𝑥为特征的最大值
若数据存在离群值,标准化后的效果较差。
实现:
sklearn.preprocessing.MinMaxScaler
preprocessing.MinMaxScaler(
feature_range=(0, 1), #期望的转换数据范围
copy=True #设置为False以执行就地标准化并避免复制
)

3、考虑离群值的标准化

sklearn.preprocessing.RobustScaler
preprocessing.RobustScaler(
with_centering=False, #如果为True,则在标准化之前将数据居中
with_scaling=False, #如果为True,则将数据缩放到分位数范围
quantile_range=(25.0, 75.0), #用于计算scale_的分位数范围
copy=True #如果为False,请尝试避免复制并改为直接替换
)
标准化公式:
在这里插入图片描述
其中:
median为中位数,分母部分由quantile_range确定。缺省为IQR:3/4分位数-1/4分位数。

4、其他数据变换方法
atan反正切函数转换

当数据都大于零时可以,可以使用反正切函数标准化,atan函数会原始数据映射到[-1,0]区间上。

log函数转换
5、sklearn中标准化对象方法

fit(X[, y]) #计算。
fit_transform(X[, y]) #计算并执行标准化。
inverse_transform(X[, copy]) #将已标准化的数据转换为原始表示。
partial_fit(X[, y]) #inline计算X上的mean和std。
transform(X[, y, copy]) #执行标准化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ITLiu_JH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值