gpt4 book ai didi

python - 我们是否需要两个单独的 StandardScaler 来处理功能和目标?

转载 作者:行者123 更新时间:2023-12-02 18:08:40 27 4
gpt4 key购买 nike

所以我所理解的是 StandardScaler().fit_transform(X, y) 不会更改目标特征 (y)。同时,对于某些算法(例如基于权重或基于距离的算法)我们还需要对目标特征进行缩放。

我的问题是,我们是否必须实现两个 StandardScaler,一个用于功能,另一个用于目标功能?我想我们也可以在将训练数据集拆分为 Xy 之前使用它,但想知道我们如何在部署时使用它,因为我们没有 >y.

# --- creating pipelines
transformer_x = make_pipeline(
SimpleImputer(strategy='constant'),
StandardScaler())

transformer_y = make_pipeline(
SimpleImputer(strategy='constant'),
StandardScaler())

# --- development
model.fit(transformer_x.fit_transform(X_train), transformer_y.fit_transform(y_train))

# --- 
# sometime later in deployment
saved_model.predict(transformer_x.transform(new_data))

另外一个问题是,是否存在我们可能不需要对基于权重/距离的算法进行标准化的情况?

谢谢!

最佳答案

  • 我们是否必须实现两个 StandardScaler,一个用于功能,另一个用于目标功能?

一般来说,没有必要缩放目标特征。唯一可能有益的情况是在某些神经网络的情况下。检查这个link了解更多相关信息。

  • 还有一个附带问题,是否存在我们可能不需要对基于重量/距离的算法进行标准化的情况?

一般而言,标准化总是有利于您的培训阶段。如果您需要对参数进行某种类型的解释,也许您应该避免使用它。再次,我在这里提供了一个有趣的link .

关于python - 我们是否需要两个单独的 StandardScaler 来处理功能和目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72801408/

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