梯度下降与线性回归实战指南
1. 特征缩放的重要性及方法
当我们将特征 x 乘以 10 后,观察其前后的横截面,会发现红色曲线变得更陡峭(梯度更大)。这意味着我们必须使用更低的学习率才能安全地沿着曲线下降。更重要的是,红色和黑色曲线的陡峭程度差异增大了,而这正是我们需要避免的,因为学习率的大小受最陡峭曲线的限制。
为了解决这个问题,我们可以使用 StandardScaler 对特征进行缩放。它能将特征转换为均值为 0、标准差为 1 的形式。具体步骤如下:
1. 计算给定特征(x)在训练集(N 个点)上的均值和标准差。
2. 使用这两个值对特征进行缩放。
如果重新计算缩放后特征的均值和标准差,将分别得到 0 和 1。这个预处理步骤通常被称为归一化,但严格来说应称为标准化。
重要提示 :像 StandardScaler 这样的预处理步骤必须在训练 - 验证 - 测试集划分之后进行,否则会将验证集和/或测试集的信息泄露给模型。在仅使用训练集拟合 StandardScaler 后,应使用其 transform() 方法对所有数据集(训练集、验证集和测试集)应用预处理步骤。
以下是代码示例:
scaler = StandardScaler(with_mean=True, with_std=True)
# 仅使用训练集拟合 scaler
scaler.fit(x_train)
# 使用已拟合的 s
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



