开始使用免费开始使用

标准化缩放

标准化缩放会将数值特征变换为均值为 0、方差为 1。在本练习中,您将使用 sklearn 中的 StandardScaler() 进行标准化缩放。首先,您将只选择需要缩放的相关列,这一步结合了对数值列的过滤以及对列含义的了解。该过滤已为您提供,并将通过正则表达式来完成,从而支持部分字符串匹配。然后,您将使用 fit_transform() 来变换这些相关列。

pandas 模块已在您的工作区以 pd 提供,示例 DataFrame 已加载为 df。此外,hour 列已转换为 datetime,并且可使用来自 sklearn.preprocessingStandardScaler

本练习是课程的一部分

用 Python 预测 CTR 的机器学习实战

查看课程

练习说明

  • 选择数值列,并使用 .select_dtypes() 结合给定的 filter_cols 进行过滤。
  • 对相关列应用标准化缩放:先创建 StandardScaler(),再使用 .fit_transform()
  • 使用 .var() 输出新变换后各列的方差。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Get non-categorical columns, with a filter
num_df = df.____(include=['int', 'float'])
filter_cols = ['click', 'banner_pos', 'device_type',
               'search_engine_type', 'product_type', 'advertiser_type']
new_df = num_df[num_df.columns[~num_df.columns.____(filter_cols)]]
num_cols = new_df.____

# Transform columns using StandardScaler
scaler = ____()
df[num_cols] = scaler.____(df[____])

# Print mean and variance of transformed columns
print(df[num_cols].mean())
print(df[num_cols].____)
编辑并运行代码