数据归一化

数据归一化

均值和方差

\[\bar{x} = \sum_{i=1}^{n}{x_i} \]

\[std(x)=\sqrt{\frac{ \sum_{i=1}^{n}{(x_i-\bar{x} )^2} }{m-1} } \]

Min-Max归一化

将数据归一到[0,1]

\[x^*= \frac{x-min(x) }{max(x)-min(x)} \]

归一化后的数据范围为 [0, 1],其中 min(x)、max(x)分别求样本数据的最小值和最大值。

  • 数据映射到指定的范围内进行处理。

  • 该方法将数据进行一次线性变换,将数据映射到[0,1]区间。Min-Max归一化不改变数据的分布。

  • 缺点为,过度依赖最大最小数,且容易受到离群点、异常数据的影响。

def MaxMinNormalization(x,Max,Min):
    x = (x - Min) / (Max - Min);
    return x

Mean 归一化

\[x^*= \frac{x-mean(x) }{max(x)-min(x)} \]

将数值范围缩放到 [-1, 1] 区间里,且数据的均值变为0

Z-Score标准化

\[x^*= \frac{x-\mu }{\sigma } \]

归一化后的数据范围为实数集,其中 μ、σ分别为样本数据的均值和标准差。

将数值缩放到0附近,且数据的分布变为均值为0,标准差为1的标准正态分布

Z-Score归一化将数据尽可能将原数据转换为符合均值为0,标准差为1的标准正态分布的新数据。

作用:

  • 1、提升模型的收敛速度(加快梯度下降的求解速度)
  • 2、提升模型的精度(消除量级和量纲的影响)
  • 3、简化计算(与归一化的简化原理相同)

对比和比较

相同:都能取消由于量纲不同引起的误差,都是一种线性变换

不同:归一化是为了消除纲量压缩到[0,1]区间标准化只是调整特征整体的分布

Min-max归一化和mean归一化: 适合处理规定范围的数据, 可以将数据统一到规定范围呢,同时 对异常值比较敏感

标准化: 将数据分布处理为 均值为0,标准差为1 的分布, 对数据异常,最值不敏感

场景:

1、分类、聚类算法中,需要使用距离来度量相似性,采用标准化变现更好

2、在不涉及距离度量、协方差计算、数据不符合正太分布,可以使用归一化

为什么需要数据处理

1、统一量纲,需要消除样本不同属性具有不同量级时的影响

2、防止对某些数据的过多依赖,平衡各特征的贡献,统一特征的权重 & 提升模型准确性

3、程序运行时收敛加快。避免一些不必要的数值,提高数值稳定性,。防止偏差

哪些模型需要进行特征缩放

通过梯度下降法求解的模型需要进行特征缩放,这包括线性回归(Linear Regression)、逻辑回归(Logistic Regression)、感知机(Perceptron)、支持向量机(SVM)、神经网络(Neural Network)等模型。此外,近邻法(KNN),K均值聚类(K-Means)等需要根据数据间的距离来划分数据的算法也需要进行特征缩放。主成分分析(PCA),线性判别分析(LDA)等需要计算特征的方差的算法也会受到特征缩放的影响。
决策树(Decision Tree),随机森林(Random Forest)等基于树的分类模型不需要进行特征缩放,因为特征缩放不会改变样本在特征上的信息增益。

参考资料

https://mp.weixin.qq.com/s/DYELe3U7AfY20LkV7A3Ydg

https://juejin.cn/post/7225794515156058168?searchId=202311201637128502D417920356F1DC9E

基础知识_数据归一化

https://blog.csdn.net/qq_53271322/article/details/128868306

posted @ 2023-12-18 17:43  贝壳里的星海  阅读(46)  评论(0编辑  收藏  举报