文章目录
前言
数据一般都是有单位的,比如身高的单位有米、厘米等。需要对此类数值型特征进行无量纲化处理,即是使不同规格的数据转换到同一规格。常见的无量纲化方法有标准化和归一化。
主要参考:机器学习算法:特征工程
一、数据标准化(Standardization)
1.为什么使用数据标准化?
- 某些算法要求样本具有0均值和1方差,即需要样本满足标准正态分布。
- 需要消除样本不同属性具有不同量级时的影响。例如,数量级的差异将导致量级较大的属性占据主导地位,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要);当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很多次才能收敛;依赖于样本距离的算法对于数据的数量级非常敏感。
2.数据标准化定义
数据标准化公式如下:
x ‾ = 1 n ∑ i = 1 n x i s t d ( x ) = ∑ i = 1 n ( x i − x ‾ ) 2 n − 1 \overline{x}=\frac{1}{n}\sum^n_{i=1}x_i \\std(x)=\sqrt{\frac{\sum^n_{i=1}(x_i-\overline{x})^2}{n-1}} x=n1