sklearn数据归一化和标准化
数据归一化和标准化是数据预处理中常用的技术,用于将数据转换到特定范围或分布,使得模型训练更加稳定和高效。以下是这两种方法的详细讲解及实现代码。
数据归一化(Normalization)
数据归一化是将数据按比例缩放,使之落入一个特定的范围(通常是[0, 1]或者[-1, 1])。常用的归一化方法包括最小-最大归一化。
最小-最大归一化
公式: \[ x' = \frac{x - x_{min}}{x_{max} - x_{min}} \]
代码示例:
1 | import pandas as pd |
数据标准化(Standardization)
数据标准化是将数据调整到均值为0,标准差为1的正态分布。这通常是通过将每个数据点减去均值,然后除以标准差来实现的。
Z-score标准化
公式: \[ x' = \frac{x - \mu}{\sigma} \]
代码示例:
1 | import pandas as pd |
使用归一化和标准化的场景
- 归一化:通常在不涉及距离计算的机器学习算法中使用,例如神经网络和线性回归,因为它可以加快收敛速度。
- 标准化:通常在涉及距离计算的机器学习算法中使用,例如K近邻(KNN)和支持向量机(SVM),因为这些算法对数据的分布敏感。
通过上述方法,可以将数据进行归一化或标准化处理,使得数据在模型训练过程中表现更好,提高模型的性能和稳定性。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Vincent's Blog!