【问题标题】:Use of Scaler with LassoCV, RidgeCVScaler 与 LassoCV、RidgeCV 的使用
【发布时间】:2017-01-20 20:33:50
【问题描述】:

我想在每个折叠训练集上应用“StandardScaler”时使用 scikit-learn LassoCV/RidgeCV。我不想在交叉验证之前应用缩放器以避免泄漏,但我无法弄清楚我应该如何使用 LassoCV/RidgeCV 做到这一点。

有没有办法做到这一点?或者我应该使用 Lasso/Ridge 创建一个管道并“手动”搜索超参数(例如使用 GridSearchCV)?

非常感谢。

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    我通过 scikit-learn 邮件列表得到了答案,所以这里是:

    '没有办法将“高效”的 EstimatorCV 对象与管道一起使用。 这是一个 API 错误,有一个未解决的问题,甚至可能是一个 PR。'

    非常感谢 Andreas Mueller 的回答。

    【讨论】:

      【解决方案2】:
        1234563 /p>
      • 下面的 make_my_pipe 可以被认为是一个附加了 StandardScaler 的 esitmator。

      代码:

      from sklearn.preprocessing import StandardScaler
      from sklearn.pipeline import make_pipeline
      from sklearn.cross_validation import cross_val_score
      from sklearn.linear_model import Ridge
      
      X = "some data"
      y = "the labels of the data"
      
      make_my_pipe = make_pipeline(StandardScaler(), Ridge())
      scores = cross_val_score(pipe, X, y)
      
      print(scores)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-04
        • 2015-01-05
        • 2016-07-11
        • 2016-08-28
        • 2021-11-05
        • 2014-12-14
        • 1970-01-01
        • 2023-03-24
        相关资源
        最近更新 更多