用python实现最大—最小标准化和平均值标准化函数
时间: 2024-09-18 17:05:52 浏览: 69
python数据分析数据标准化及离散化详解
在Python中,最大-最小标准化(也称为min-max scaling)和平均值标准化(也称为z-score标准化)是非常常见的数据预处理技术,它们用于将数值特征转换到一个固定的范围内,便于模型训练和理解。
**最大-最小标准化 (Min-Max Scaling)**:
这种标准化方法将每个特征的值缩放到0到1之间,公式如下:
\[ x_{scaled} = \frac{x - x_{min}}{x_{max} - x_{min}} \]
其中 `x` 是原始值,`x_{min}` 和 `x_{max}` 分别是该特征的最小值和最大值。
**平均值标准化 (Z-Score Scaling):**
这种方法将每个特征的值转换为标准正态分布,即均值为0,标准差为1。公式如下:
\[ x_{scaled} = \frac{x - \mu}{\sigma} \]
其中 `x` 是原始值,`μ` 是特征的平均值,`σ` 是特征的标准差。
以下是两个函数的示例实现:
```python
def min_max_scaling(data):
data_min = data.min()
data_max = data.max()
return (data - data_min) / (data_max - data_min)
def z_score_scaling(data):
mean = data.mean()
std_dev = data.std()
return (data - mean) / std_dev
# 使用示例
# 假设你有一个名为df的数据框,其列名分别为col1, col2等
# df[['col1', 'col2']] 将提取DataFrame的指定列
col_to_scale = df[['col1', 'col2']]
col_scaled_min_max = min_max_scaling(col_to_scale)
col_scaled_zscore = z_score_scaling(col_to_scale)
```
阅读全文