机器学习总结之——标准化与归一化的区别

机器学习总结之——标准化与归一化的区别

1、标准化

  简单来说,标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。标准化的前提是特征值服从正态分布,标准化后,其转换成标准正态分布。公式如下:
x ′ = x − X S ( 其 中 X 代 表 样 本 均 值 , S 代 表 样 本 方 差 ) x'=\frac{x-X}{S}(其中X代表样本均值,S代表样本方差) x=SxXXS
  矩阵的列处理数据的理解,在特征矩阵中对列进行处理一般代表同时对一个样本各个特征进行同样的处理。(此处不能理解,为什么标准化是要对矩阵列进行相同的处理,是因为样本中各个属性对于样本的分布进行标准化吗,查找了很多资料没有找到相关的说明)

2、归一化

  归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。 归一化利用了边界值信息,将特征的取值区间缩放到[0, 1]范围内。公式如下:
x ′ = x − M i n M a x − M i n ( 其 中 M i n 代 表 样 本 最 小 值 , M a x 代 表 样 本 最 大 值 ) x'=\frac{x-Min}{Max-Min}(其中Min代表样本最小值,Max代表样本最大值) x=MaxMinxMinMinMax
  矩阵的行处理数据的理解,在特征矩阵中对行行进行处理一般代表同时对样本集中某个特征属性内的所有数据进行处理,因为归一化是将数据进行缩放,使数据某个特征向量(即该属性集内数据)的数据关系保持不变,即需要对整行内数据同时进行操作。

3、标准化与归一化过程中特征向量的缺失值处理

3.1缺失值较多的情况

  直接将该特征舍弃掉,否则可能反倒会带入较大的noise(噪音),对结果造成不良影响。

3.2缺失值较少的情况

  如果特征缺失值在10%以内,我们可以采取很多的方式来处理:

  • 把NaN直接作为一个特征,假设用0表示;
  • 缺失特征值用样本(或者缺失前后)特征均值进行填充;
  • 保持上一个特征值不变;
  • 用另外训练一个模型(如随机森林)进行预测填充。

你可能感兴趣的:(机器学习,标准化,归一化,标准化与归一化过程缺失数据处理)