几种数据预处理方法汇总(标准/中心化、归一化、正则化)+Python代码

1. 数据的标准化(规范化/归一化)

数据标准化是将样本的属性缩放到某个指定的范围。

数据标准化的原因:

  1. 某些算法要求样本具有零均值和单位方差;
  2. 需要消除样本不同属性具有不同量级时的影响:①数量级的差异将导致量级较大的属性占据主导地位;②数量级的差异将导致迭代收敛速度减慢;③依赖于样本距离的算法对于数据的数量级非常敏感。

1.1 z-score标准化(规范化):

基于原始数据的均值(mean)和标准差(standarddeviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’。z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。

数据中心化: 是指变量减去它的均值。
数据标准化: 是指变量减去它的均值,再除以标准差。

其公式为: 新数据 =(原数据- 均值)/ 标准差
Python代码实现:
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_scaled = preprocessing.scale(X)   # 调用skleam函数实现标准化

# 处理后数据的均值和方差
X_scaled.mean(axis=0)  # 均值
X_scaled.std(axis=0)  # 方差

2.使用sklearn.preprocessing.StandardScaler类,使用该类的好处在于可以保存训练集中的参数(均值、方差)直接使用其对象转换测试集数据。

from sklearn.preprocessing import StandardScaler
import numpy as np

X = np.array([[ 1.,-1.,2.],[ 2.,0.,0.],[ 0.,1.,-1.]])
sca
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值