Python – 如何在哪里进行特征缩放?

Python – 如何在哪里进行特征缩放?

这是应用于数据独立变量或特征的数据预处理步骤。它基本上有助于将数据归一化到特定范围内。

更多Python相关文章,请阅读:Python 教程

为什么要缩放?

大多数情况下,您的数据集将包含具有不同数量、单位和范围的特征。但由于大多数机器学习算法在计算中使用两个数据点之间的欧几里得距离,这是一个问题。

如果不加干预,这些算法只考虑特征的数量而忽略了单位。在不同的单位之间,如5公斤和5000克之间的结果会有很大的差异。

具有高幅度的特征将在距离计算中扮演更重要的角色,而低幅度的特征将被忽略。

为了消除这种影响,我们需要将所有特征带入到相同的幅度级别。这可以通过缩放实现。

如何缩放特征?

  • 标准化 - 标准化将值替换为它们的Z分数。
  • $$x^{\prime}=\frac{x:-:\bar{x}}{\sigma}$$ 这会将特征均值μ=0和标准差σ=1的重新分布。sklearn.preprocessing.scale帮助我们在python中实现标准化。
  • 均值归一化 -
  • $$x^{\prime}=\frac{x:-:mean(x)}{\max(x):-:\min(x)}$$

则该分布将具有 -1和1之间的值 ,其中μ=0。这些就是假设为零的中心数据的算法,例如主成分分析(PCA)。

  • Min-Max缩放
  • $$x^{\prime}=\frac{x:-:\min(x)}{\max(x):-:\min(x)}$$

这种标准缩放将值调整为介于0和1之间。

  • 单位向量 -
  • $$x^{\prime}=\frac{x}{\lVert:x:\rVert}$$

缩放是考虑到整个特征向量的单位长度进行的。Min-Max缩放和Unit Vector技术产生[0,1]范围内的值。当处理带有硬边界的特征时,这非常有用。例如,在处理图像数据时,颜色范围仅在0到255之间。

何时进行缩放?

遵循的经验法则是:任何计算距离或假设正常性的算法,都要对特征进行缩放。

特征缩放的一些算法示例是 −

  • 带有欧几里得距离度量的k近邻算法对幅度敏感,因此所有特征都需要缩放才能平等权重。

  • 在执行主成分分析(PCA)时可能很重要。PCA尝试获得具有最大方差的特征,高幅度特征的方差很高。这会使PCA偏向于高幅度特征。

  • 我们可以通过缩放来加快梯度下降。这是因为当变量非常不平衡时,θ将在小范围内快速下降,在大范围内缓慢下降,并且会在最优时振荡不高效。

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

  • 像线性判别分析(LDA)、朴素贝叶斯这样的算法都是根据设计装备的,可以根据特征的权重来进行处理。在这些算法中执行特征缩放可能没有太大的影响。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程