为什么要做特征缩放

作者:Sudharsan 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)、朴素贝叶斯等算法设计的时候就准备好了处理这一问题,并相应地赋予特征权重。在这些算法中执行特征缩放可能没有多大效果。

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

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

本文为专栏文章,来自:AI公园,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/66292.html 。

(1)
上一篇 2019-09-05 21:31
下一篇 2019-09-08 00:53

相关文章

关注我们
关注我们
分享本页
返回顶部