归一化 python numpy 归一化条件_归一化 python numpy


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

2、为什么要进行特征归一化(必要性)?
(1)对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。
(2)从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性哪些模型需要做归一化?
1)需要使用梯度下降的模型要做归一化----因为不做归一化会使收敛的路径程z字型下降,导致收敛路径太慢,而且不容易找到最优解
那就显而易见了,比如说线性回归、逻辑回归、gbdt等
2)需要计算距离的模型需要做归一化----感觉找不到语言解释,举个例子两个变量,一个变量的范围在[0,1]之间,另一个变量的范围在[1000,10000]之间,这样算出来的距离很容易受这个范围比较大的值影响
模型比如说knn、k-means等

归一化的几种方法

min-max标准化

概念:对原始数据进行线性变换,使得结果在[0,1]中间

公式:

归一化 python numpy 归一化条件_最优解_02


(max最大值,min最小值)

3、特征归一化的好处

1)归一化后加快了梯度下降求最优解的速度;

2)归一化有可能提高精度(如KNN)

总结:
数据归一化不是万能的,在实际应用中,通过梯度下降法求解的模型通常是需要数据归一化的,包括线性回归逻辑回归持向量机(SVM)神经网络等模型。
但是决策树模型并不适用归一化