【问题标题】:Does including a scaler in sklearn's Pipeline scale the target variable?在 sklearn 的管道中包含缩放器是否缩放目标变量?
【发布时间】:2020-09-03 15:30:47
【问题描述】:

sklearn 的 Pipeline 实用程序中使用缩放函数时,标量是否在训练和预测期间应用于目标变量?

换句话说,我下面的代码是否使用了TransformedTargetRegressor 对管道是多余的?

cowboy = Lasso(max_iter=10000, tol=.005)
climber = Ridge()
gymshorts = ElasticNet()
scaler = pre.RobustScaler()

models = [('xgb', xgb.XGBRegressor(**best_params)),
          ('ridge', make_pipeline(scaler, TransformedTargetRegressor(climber, scaler))),
          ('lasso', make_pipeline(scaler, TransformedTargetRegressor(cowboy, scaler))),
          ('enet', make_pipeline(scaler, TransformedTargetRegressor(gymshorts, scaler)))]

stack = ensemble.StackingRegressor(estimators=models)
stack = stack.fit(x_train, y_train)

【问题讨论】:

    标签: python scikit-learn regression pipeline


    【解决方案1】:

    在 sklearn 的 Pipeline 中,缩放器不会应用于目标。只有独立变量(又名特征)会被缩放。

    因此,在您的代码中使用TransformedTargetRegressor 并不是多余的。

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 2021-03-19
      • 2020-09-16
      • 1970-01-01
      • 2020-01-10
      • 2020-11-15
      • 1970-01-01
      • 2018-11-22
      • 2019-11-03
      相关资源
      最近更新 更多