在预处理数据集时,我总是会混淆是使用MinMaxScaler还是标准化Scaler,因此我的问题是什么时候使用标准化Scaler,以及在什么情况下可以使用MinMaxScaler?
回答:
MinMaxScaler
例如 (feature_range = (0, 1)) 会将列中的每个值按比例转换到 [0,1] 范围内。将其作为转换特征的首选缩放器,因为它会保留数据集的形状(无失真)。
StandardScaler()
会将列中的每个值转换到以均值0和标准差1的范围内,即,每个值将通过减去均值并除以标准差来进行标准化。如果您知道数据分布是正态的,请使用StandardScaler。
如果存在异常值,请使用 RobustScaler()
。或者,您可以删除异常值并使用上述两种缩放器中的任意一种(选择取决于数据是否呈正态分布)。
附加说明:如果在train_test_split之前使用缩放器,会发生数据泄漏。请在train_test_split之后使用缩放器。