gpt4 book ai didi

python - 如何使用 StandardScaler 正确缩放训练集、验证集和测试集?

转载 作者:行者123 更新时间:2023-11-30 09:14:47 24 4
gpt4 key购买 nike

有些文章说,如果只有训练集和测试集,我们首先需要使用 fit_transform() 来缩放训练集,然后只使用 Transform() 来缩放测试集,以防止数据泄漏。

就我而言,我还有验证集。

我认为下面的这些代码之一可以使用,但我不能完全依赖它们。任何形式的帮助将不胜感激,谢谢!

1)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size = 2/7)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_val = scaler.transform(X_val)
X_test = scaler.transform(X_test)

2)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)

X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size = 2/7)
X_test = scaler.transform(X_test)

最佳答案

通常您会希望使用选项 1 代码。使用拟合然后用训练数据进行变换的原因是 a) Fit 将计算训练集的平均值、var 等,然后尝试使模型适合数据 b) 发布哪个转换将根据拟合模型转换数据。

如果您再次对测试集使用拟合,这将会给您的模型增加偏差。

关于python - 如何使用 StandardScaler 正确缩放训练集、验证集和测试集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58823264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com