2

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

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

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

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

对此的一种怪异方法是创建一个函数 f(b0, b1, b2, year1, year2, year3),它返回错误的最大值,然后使用 scipy 最小化该函数。

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

4

1 回答 1

0

在我看来,scikit 只提供对评分的直接 api 访问,我相信一次只能看到一次。

不是很漂亮,但我认为您最好的选择是遍历grid_scores_ cv_validation_scoresGridSearchCV手动获取一组参数,以最小化您选择的损失函数的最大值。

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

于 2016-03-24T23:00:30.150 回答