from sklearn.preprocessing import MinMaxScaler  # 归一化
from sklearn.preprocessing import StandardScaler  # 标准化

# 假设已有数据集 data(包含 .age 特征,先重命名为 age 方便使用)
data.rename(columns={'.age': 'age'}, inplace=True)  # 去掉列名前的点(关键)

# 提取连续特征(仅 age,可扩展其他连续特征如 income 等)
X = data[['age']]  # 注意:sklearn 要求输入为 2D 数组,用 [[]] 而非 []

# 1. 归一化(Min-Max Scaling,映射到 [0,1])
min_max_scaler = MinMaxScaler()
X_age_normalized = min_max_scaler.fit_transform(X)
data['age_归一化'] = X_age_normalized  # 结果存入原数据框

# 2. 标准化(Z-Score Scaling,均值=0,方差=1)
std_scaler = StandardScaler()
X_age_standardized = std_scaler.fit_transform(X)
data['age_标准化'] = X_age_standardized  # 结果存入原数据框

# 打印原始值、归一化后、标准化后的数据(前5行)
print("原始age | 归一化后 | 标准化后")
print("-" * 30)
print(data[['age', 'age_归一化', 'age_标准化']].head())

注:其他步骤day7已经写了。此数据集中没有离散变量,也没有缺失值。

结果:

@浙大疏锦行

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐