我真的很困惑,什么时候应该将MinMaxScaler或缩放应用于我的数据集,无论是在拆分为train_testrongplit之前,还是在拆分为训练和验证拆分之后,然后在X_train上拟合和转换,在X_test上转换。真的很困惑应用这个的一般经验法则是什么。。。
没有经验法则,但通常情况下,您肯定希望在拆分数据集之前进行缩放。
我会告诉你为什么。从逻辑上讲,在预测是否有一个数据集并将其拆分为三个子集而不确保该子集或多或少处于相同的分布时,(对模型来说(这将是令人困惑的。现在,如果你确信这三个子集具有相同的分布并且不不平衡(这很难证明(,那么我认为在之前或之后分裂没有问题。不过我绝不会推荐它。
因此,合乎逻辑的选择是先进行缩放,然后再进行拆分。另一种方法是使用StandardScaler而不是MinMaxScaler。我发现它不那么敏感,根据我的经验,在大多数情况下,它比minmax更好。
您希望在训练集上进行训练之前进行缩放。之后,在推理之前,使用相同的均值和方差(即训练均值和方差(对测试和验证进行缩放。