数据标准化处理方法_机器学习系列-数据预处理-数据标准化(归一化)-理论

a1b8208a00c491387017b3c9e849c69d.png

在做一个具体的机器学习项目中,拿到收集到的数据后,一般都是需要做数据预处理,而标准化(暂时不考虑标准化和归一化的主要区别)是数据预处理中一个比较重要的环节,那么为什么需要对数据进行标准化处理呢?

数据标准化原因:

1、消除量纲或数值对计算结果的影响;

如果你的数据中含有两个特征分别为体重和身高,其中体重的单位是kg,而身高的单位是m,我们知道一般成年人的体重范围大概是40-150kg,一般成年人的身高一般在1.2-1.9m,若不做标准化处理,应用基于距离的模型的话,因为体重的数值偏大,而身高的数值偏小,会导致距离的计算结果严重的依赖于体重,而身高对距离计算结果的影响很小。

2、模型要求数据假定服从相应的分布

有的模型会存在一定的假设条件的,只有在满足条件的情况下模型才是可信的。比如线性回归要求误差服从正态分布等。

3、将数据缩放到指定的区间上

如果数据中的数值特别大或者是特别的小,在模型计算的过程中就会存在超出数值的精度范围。比如在单精度类型的数据表示范围:+-3.4*10^(-38)~~~+-3.4x10^38,如果数据中的数值本省就特别大或者是特别的小,模型计算复杂的话就会存在超过单精度类型的范围,致使你的程序报错。

综上三点总结了数据标准化的原因,下面介绍一些常用的数据标准化方法。

常用数据标准化方法

1、0-1标准化/min-max标准化

0-1标准化主要是将数据变化到[0,1]的范围内,假设样本为

,则0-1标准化的数学计算公式为:

不管是上面的那种数据标准化方法数据中的异常值对标准化的结果影响严重,所以在做标准化的时候一定要看看数据异常值。

2、z-score标准化

z-score标准化也叫标准差标准化,主要是使标准化后的数据服从正态分布,其数学公式为:

其中(
是数据均值,
是数据的标准差)

3、log转换

log转换通常也称为对数变换,在时间序列分析中是比较常用。在常规的数据挖掘中如果数据中的某个维度的数是某个数的幂的时候,这时可以直接用log转换。

如果感兴趣请关注微信公众号:洞察数据挖掘价值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值