一、特征归一化(Normalization)

1.什么是特征归一化

数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。

特征标准化 python 特征标准化的含义_标准差

2.为什么要进行特征归一化

(1)对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。
(2)从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

3.哪些模型需要做特征归一化?

(1)需要使用梯度下降的模型要做归一化----因为不做归一化会使收敛的路径程z字型下降,导致收敛路径太慢,而且不容易找到最优解。比如说线性回归、逻辑回归、gbdt、支持向量机、神经网络等。观察发现,这几个模型都会用到类似于y=wx+b的线性函数,因此需要做归一化。而决策树等模型不用做特征归一化,因为决策树在进行节点分类任务的时候,考虑的是信息增益或者信息增益率。
(2)需要计算距离的模型需要做归一化----感觉找不到语言解释,举个例子两个变量,一个变量的范围在[0,1]之间,另一个变量的范围在[1000,10000]之间,这样算出来的距离很容易受这个范围比较大的值影响。

二、特征标准化(Standardization)

1.什么是特征标准化

就是将训练集中某一列数值特征(假设是第i列)的值缩放成均值为0,标准差为1的状态。特征标准化公式如下:

                                                            特征标准化 python 特征标准化的含义_机器学习_02             (特征标准化 python 特征标准化的含义_特征标准化 python_03)

特征标准化 python 特征标准化的含义_机器学习_04

2.为什么要进行特征标准化

标准化后。样本量纲一致,计算精度提高,提高收敛速度。

3.那些模型需要做特征标准化

机器学习中有部分模型是基于距离度量进行模型预测和分类的。由于距离对特征之间不同取值范围非常敏感,所以基于距离读量的模型是十分有必要做数据标准化处理的。最典型基于距离度量的模型包括k近邻、kmeans聚类、感知机和SVM。