You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GridSearchCV中LogisticRegression的solver参数未生效,触发惩罚项报错

问题原因及解决方法

你的问题出在parameters的结构上:你把参数拆成了三个独立的字典,GridSearchCV会分别对这三组参数做独立搜索,而不是将它们组合起来遍历所有可能的超参数组合。

具体来说:

  • 第一组{'logreg__solver': ['saga']}:只会单独测试solver='saga'这一种情况,这部分是正常的;
  • 第二组{'logreg__penalty':['l1', 'l2']}:没有指定solver参数,所以LogisticRegression会使用默认的lbfgs求解器,而lbfgs不支持l1正则,直接触发了你看到的错误;
  • 第三组{'logreg__C':[1e-3, 0.1, 1, 10, 100]}:同样没有指定solver,依然用默认的lbfgs。

修正方法

把所有需要组合的参数放在同一个字典里,这样GridSearchCV会生成所有参数的笛卡尔积,确保saga求解器和l1/l2正则、不同的C值一起被测试:

parameters = {
    'logreg__solver': ['saga'],
    'logreg__penalty': ['l1', 'l2'],
    'logreg__C': [1e-3, 0.1, 1, 10, 100]
}

这样修改后,所有参数会被正确组合,saga求解器会和l1/l2正则配合使用,不会再出现默认求解器不兼容的问题。

内容的提问来源于stack exchange,提问作者Mageentta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:55:27