Press "Enter" to skip to content

为什幺要做特征缩放,怎幺做特征缩放,什幺时候做特征缩放?特征缩放三连了解一下!

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

作者: Sud harsan Asaithambi

 

编译: ronghuaiyang

 

在使用某些算法时,特征缩放可能会使结果发生很大变化,而在其他算法中影响很小或没有影响。为了理解这一点,让我们看看为什幺需要缩放特征、各种缩放方法以及什幺时候应该对特征进行尺度缩放。

 

为什幺要做特征缩放

 

大多数情况下,你的数据集将包含在大小、单位和范围上差别很大的特征。但是,由于大多数机器学习算法在计算中使用两个数据点之间的欧氏距离,这会是一个问题。

 

如果不加考虑,这些算法只考虑特征的大小而忽略了单位。在5kg和5000gms不同的单元之间,结果会有很大的差异。在距离计算中,大尺度的特征比小尺度的特征要重要得多。

 

小特征 vs 大特征

为了抑制这种效果,我们需要将所有特征都处理成相同的级别。这可以通过缩放来实现。

 

如何对特征进行缩放

 

有4中常用的方法可以来做特征的缩放。

 

1. 标准化:

 

标准化将值替换为z- score 。

 

 

这个重新分布的特征意味着 μ= 0 和标准偏差 σ= 1 , sklearn.preprocessing.scale 可以帮助我们在python中实现标准化。

 

2. 均值归一化:

 

 

这个分布的值域为[-1,1], μ=0 。

 

标准化和 均值归一化 可用于假设中心数据为零的算法,如 主成分分析(PCA).

 

3. 最小-最大值缩放:

 

 

这种缩放使值介于0和1之间。

 

4. 单位向量化:

 

 

这个缩放考虑到将整个特征向量归一化到单位长度。

 

最小-最大缩放 和 单位向量化 技术产生的值范围为[0,1]。 当处理带有硬边界的特征时,这非常有用。 例如,在处理图像数据时,颜色的范围只能从0到255。

 

什幺时候进行特征缩放

 

我在这里遵循的经验法则是任何计算距离或假设正常的算法, 缩放你的特征!!

 

一些算法的例子,其中的特征缩放是很重要的:

 

k-最近邻具有欧氏距离度量,对大小敏感,因此应该对所有特征进行缩放,使其尺度相同。

 

主成分分析(PCA),缩放是关键。主成分分析试图得到方差最大的特征,对于高幅值特征,方差较大。这使得PCA倾向于高幅值特征。

 

梯度下降可以通过缩放进行加速。这是因为θ在小尺度上会下降的很快,在大尺度上会很慢,所以,变量尺度不均匀的时候,在最优化的路径上会有震荡,效率下降。

 

基于树的模型不是基于距离的模型,可以处理不同范围的特性。因此,建模树时不需要缩放。

 

线性判别分析(LDA)、朴素贝叶斯等算法设计的时候就准备好了处理这一问题,并相应地赋予特征权重。在这些算法中执行特征缩放可能没有多大效果。

 

好了,希望你能理解 为什幺 , 如何 和 何时 进行特征缩放。

 

— END —

 

英文原文: https://medium.com/greyatom/why-how-and-when-to-scale-your-features-4b30ab09db5e

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注