特征工程 - Normalize Numeric Features

接下来,让我们看看如何使用data wranger规范化数字特征。

使用梯度下降作为优化技术的机器学习算法,如线性回归、逻辑回归、神经网络等,需要对数据进行缩放。为了确保梯度下降平稳地移向最小值,并且所有特征的梯度下降步骤以相同的速率更新,我们在将数据输入模型之前对其进行缩放。将特征缩放到相似的范围可以帮助梯度下降更快地收敛到最小值。

距离算法,如KNN和K-means,也最受特征范围的影响。这是因为在幕后,它们使用数据点之间的距离来确定它们的相似性。

  • Normalization是一种缩放技术,其中值被移动和重新缩放,使它们最终在0和1之间变化。它也被称为最小-最大缩放。
  • Standardization是另一种缩放技术,其中值围绕平均值居中,具有单位标准差。这意味着属性的平均值变为零,结果分布具有单位标准差。

当我们知道数据分布不遵循高斯分布时,使用Normalization是个好主意。这在不假设任何数据分布的算法(如K最近邻和神经网络)中很有用。另一方面,Standardization可以在数据遵循高斯分布的情况下有所帮助。此外,与Normalization不同,Standardization没有界限范围。因此,即使我们的数据中有异常值,它们也不会受到Standardization的影响。

让我们看看如何将数字特征列Normalize到标准[0,1]范围。

从data wranger的transform中,选择process numeric:

image-20240906094712515

应用0到1之间的min-max-scaler

image-20240906094822910

我们将对以下特征列应用缩放:

  • lead_time
  • stays_in_weekend_nights
  • stays_in_week_nights
  • previous_cancellations
  • previous_bookings_not_canceled
  • booking_changes
  • adr
  • total_of_specical_requests
  • required_car_parking_spaces

image-20240906094930204

最后进行preview并添加。