【问题标题】:Scikit grid searching the parameters (not hyper parameters)Scikit 网格搜索参数(不是超参数)
【发布时间】:2016-07-12 06:18:43
【问题描述】:

Scikit 的GridSearch 非常适合我想找到最佳超参数。我想使用相同的理念来找到线性回归的最佳参数集,使用跨多个折叠的目标函数。如何在多个折叠上优化线性回归的参数(字面意思是 beta 和截距)?

用例(简化):
我有一个包含三年数据的数据集。我想定义什么是“所有年份都可以”的最佳线性回归。如果我将线性回归拟合到整个数据集,我将得到一个可以减少所有数据的最小二乘误差的数据集。我将有效地减少错误

但是,这 (min(error)) 不是我的目标。我可以在这个目标上得到一个很好的结果,仅仅是因为分类器在第 1 年和第 2 年做得很好,这足以弥补第 3 年的损失。

我实际上想要最小化的是类似于min(max(error_year_1, error_year_1, error_year_1)) 的东西。

解决这个问题的一个 hacky 方法是创建一个函数 f(b0, b1, b2, year1, year2, year3),它返回错误的最大值,然后使用 scipy 最小化该函数。

实际问题:有没有办法在 scikit 中做到这一点?

【问题讨论】:

    标签: python scikit-learn regression minimize grid-search


    【解决方案1】:

    在我看来,scikit 只提供对 scoring 的直接 api 访问,我相信它一次只能看到一个折叠。

    不是很漂亮,但我认为您最好的选择是遍历 GridSearchCVgrid_scores_ cv_validation_scores 并手动获取一组参数,以最大限度地减少您选择的损失函数的最大值。

    但不要认为它会保存分类器,如果您想使用它来进行预测,您可能必须重新训练另一个 logit。

    【讨论】:

      猜你喜欢
      • 2016-04-09
      • 2023-03-09
      • 2019-10-15
      • 1970-01-01
      • 2021-08-24
      • 2018-05-12
      • 2017-06-22
      • 2019-06-02
      • 2021-02-07
      相关资源
      最近更新 更多