一、归一化以及标准化对比
归一化和标准化都是数据预处理中常用的方法,它们的主要目标是将特征数据转换为适合模型训练的范围和分布,尽量消除特征之间的量纲差异。
总结
-
处理方式:
- 归一化:将数据缩放到特定范围(通常是[0, 1])。
- 标准化:将数据调整为零均值和单位方差。
-
适用算法:
- 归一化:适用于K近邻(KNN)、神经网络等对特征范围敏感的算法。
- 标准化:适用于线性回归、逻辑回归、SVM、K-means等需要数据服从正态分布或需要计算距离的算法。
-
对异常值的敏感性:
- 归一化:对异常值敏感,极值会影响结果。
- 标准化:对异常值不敏感。
-
计算复杂度:
- 归一化:计算简单,只需找到最大值和最小值。
- 标准化:计算复杂,需要计算均值和标准差。
在实际应用中,选择归一化还是标准化要根据具体的数据分布和使用的机器学习算法来决定。有时候也可以在尝试多种预处理方法后,通过模型的验证效果来选择最优的预处理方式。
二、标准化总结以及缺失值处理
四、特征预处理-归一化
优点:
- 消除特征之间的量纲差异,使得不同特征在模型中具有相同的重要性。
- 有助于提高某些机器学习算法的性能,特别是基于距离度量的算法(如K近邻算法)。
缺点:
- 对于极值敏感,异常值可能会显著影响归一化的结果。
- 归一化后的数据失去了原始单位的信息。
适用场景:
- 当特征的取值范围差异很大时,如一个特征的取值范围是0到1,另一个特征的取值范围是0到1000。
- 适用于需要计算距离的算法,如K近邻、神经网络等。
总结
归一化就是把数据按比例缩放到一个统一的范围(比如0到1),这样不同特征之间就没有量纲上的差异了,就像把不同类型的运动成绩都换算成百分制一样,使得它们可以在同一水平线上进行比较。