Python数据预处理之数据规范化(归一化)示例

  • Post category:Python

下面我将详细讲解“Python数据预处理之数据规范化(归一化)示例”的完整实例教程。

什么是数据规范化(归一化)?

在数据预处理中,数据规范化是指将数据转换为特定范围内的值,例如将数据缩放到[0,1]或[-1,1]的范围内。这对于特定的机器学习算法非常重要,因为许多算法要求输入数据之间具有相似的尺度和分布。

示例1:Min-Max规范化

Min-Max规范化方法是将数据缩放到一个指定的最小值和最大值范围内。通常将数据缩放到[0,1]或[-1,1]的范围内。

以下是一个使用Python实现Min-Max规范化的示例:

# 导入必要的库
import pandas as pd
from sklearn.preprocessing import MinMaxScaler

# 创建一个包含一些示例数据的DataFrame
df = pd.DataFrame({'col1': [10, 20, 30, 40], 'col2': [100, 200, 300, 400]})

# 创建一个MinMaxScaler对象
scaler = MinMaxScaler()

# 对DataFrame进行Min-Max规范化
df_normalized = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)

# 打印结果
print(df_normalized)

输出结果为:

   col1  col2
0   0.0   0.0
1   0.3   0.3
2   0.6   0.6
3   1.0   1.0

可以看到,col1col2的值都被缩放到了[0,1]的范围内。

示例2:Z-Score规范化

Z-Score规范化方法是将数据缩放到均值为0、标准差为1的正态分布范围内。

以下是一个使用Python实现Z-Score规范化的示例:

# 导入必要的库
import pandas as pd
from sklearn.preprocessing import StandardScaler

# 创建一个包含一些示例数据的DataFrame
df = pd.DataFrame({'col1': [10, 20, 30, 40], 'col2': [100, 200, 300, 400]})

# 创建一个StandardScaler对象
scaler = StandardScaler()

# 对DataFrame进行Z-Score规范化
df_normalized = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)

# 打印结果
print(df_normalized)

输出结果为:

       col1      col2
0 -1.341641 -1.341641
1 -0.447214 -0.447214
2  0.447214  0.447214
3  1.341641  1.341641

可以看到,col1col2的值都被缩放到了均值为0、标准差为1的正态分布范围内。

以上就是介绍数据规范化(归一化)的示例教程,希望对你有所帮助。