【python数据预处理笔记】——特征缩放(标准化 & 归一化)

目 录

一、Q&A

Q1 什么是标准化、归一化、规范化、正则化?


A 在特征缩放中,标准化和归一化是特征缩放的两种形式,一个是减去均值后再除以方差,一个是把数据压缩到 [ 0 , 1 ] [0, 1] [0,1] 或者 [ − 1 , 1 ] [-1, 1] [1,1] 区间上。规范化是线性代数中的名词,在数据科学中也有人把特征缩放称为特征规范化或者特征归一化,不过为了避免混淆不建议这样做。而正则化是一种防止过拟合的手段,用来对模型的复杂度或者特征维度进行惩罚,严格来说不属于数据预处理的内容。

Q2 为什么需要做标准化或者归一化?


A 当模型是输入特征的平滑函数时,那么它对输入的尺度是非常敏感的,取值范围大的特征被无意中赋予了更大的权重,它会压缩取值范围小的特征对结果的影响。例如 y = x 1 + x 2 + 7 y = x_1 + x_2 +7 y=x1+x2+7 是一个简单的线性函数,如果 x 1 x_1 x1 的尺度为 [ 0 , 1 ] [0,1] [0,1] x 2 x_2 x2 的尺度为 [ 0 , 10000 ] [0, 10000] [0,10000] ,那么 x 2 x_2 x2 的变动将会产生更大的影响。这个时候就要对特征进行缩放,也就是标准化或者规范化。目的是使其不同尺度之间的特征具有可比性,同时不改变原始数据的分布。

Q3 什么样的模型需要输入标准化或者归一化的特征,什么样的模型不需要?


A 正如前一问提到的,需要对特征进行标准化的模型是输入的平滑函数,比如线性回归模型、逻辑回归模型或者包含矩阵的模型。此外,k-均值聚类、k近邻法、径向基和函数,以及所有使用欧式距离的方法都属于这种情况。相对地,基于空间分割树的模型(决策树、梯度提升树、随机森林)对尺度是不敏感的。除非输入的尺度是随时间变化的,也就是说如果特征是某种累计值,那么它最终可能会超出训练树的取值范围。如果出现了这种情况,就必须定期地对输入尺度进行调整,或者使用区间计数法。

Q4 哪些数据不能做特征缩放?


A 稀疏数据不能进行特征缩放,因为特征缩放相当于对原数据进平移和缩放。而对于稀疏数据来说,数据中含有大量的0,一旦进行平移,那么稀疏特征将会变为密集特征,这会产生很大的影响,比如特征向量中包含没有在文章中出现的所有单词,那么当它变为密集向量的时候,特征的意义会发生巨大的改变。

二、特征标准化/方差放缩

  特征标准化可用下面的公式来定义:

  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值