【问题标题】:The R^2 score I get from GridSearchCV is very different from the one I get from cross_val_score, why? (sklearn, python)我从 GridSearchCV 获得的 R^2 分数与我从 cross_val_score 获得的分数非常不同,为什么? (sklearn,python)
【发布时间】:2014-10-20 09:24:34
【问题描述】:

我正在使用 GridSearchCV 来选择回归量。安装好后,我用

拉出选择的回归器
predictor = GridSearchCV(Pipeline(...), params={...},
                         cv=10, scoring='r2')
predictor.fit(X, y)
estimator = predictor.get_params()['estimator']

然后我运行cross_val_score

cross_val_score(estimator, X, y,
                cv=10, scoring='r2')

但我得到的 R^2 始终比predictor.best_score_ 低约 5 个百分点。为什么?

【问题讨论】:

  • 全面了解您正在使用的估算器会很有用。更好的是带有随机数据的完全复制+可粘贴脚本。如果我的回答没有帮助,这可能是特定于估算器的。

标签: python statistics scikit-learn regression


【解决方案1】:

使用predictor.best_estimator_ 作为cross_val_score 中的估计量。这是具有最佳参数的那个。您选择它的方式,您可能会获得具有默认参数的初始估计量。您也可以通过将后者放入 cross_val_score 并比较结果来进行检查。

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 2017-03-29
    • 2020-08-27
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多