特征标准化

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

Kevin Huo

Instructor

为何标准化重要

  • 标准化:使数据满足模型假设
  • 某些特征方差过大,可能不公平地主导模型
  • 例:某个计数因一名垃圾用户导致取值范围过大
  • 不适用于分类变量,如 site_idapp_iddevice_id
用 Python 预测 CTR 的机器学习实战

对数归一化

df.var()
click                   1.294270e-01
hour                    1.123316e-01
df.var().median()
0.7108583771671939
print(df['click'].var())
df['device_id_count'] = df[
  'device_id_count'].apply(
  lambda x: np.log(x))
print(df['click'].var())
249362570.10134825
15.628476003312514
用 Python 预测 CTR 的机器学习实战

缩放数据

  • 标准缩放将所有特征变为均值 0、标准差 1

标准缩放示例

  • 一般对机器学习模型是良好实践
用 Python 预测 CTR 的机器学习实战

如何进行标准缩放

  • 可用 StandardScaler() 进行缩放:
scaler = StandardScaler()
X[numeric_cols] = scaler.fit_transform(X[numeric_cols])
dtype: float64
1    10.5 -> 0.85
2    32.3 -> 1.54
用 Python 预测 CTR 的机器学习实战

开始练习!

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

Preparing Video For Download...