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

使用GridSearchCV做弹性网正则化逻辑回归遇参数数量错误

GridSearchCV参数传递错误的解决方法

问题原因

你遇到的__init__() takes 3 positional arguments but 4 were given错误,核心是GridSearchCV构造函数中,scoring参数不能以位置参数形式传递。

GridSearchCV的__init__方法仅允许前两个参数(estimator和param_grid)作为位置参数传入,后续所有参数(包括scoring)都必须通过关键字参数(参数名=值)的形式指定。你直接传入的第三个位置参数'roc_auc'会被当成额外的位置参数,加上方法自身的self参数,就出现了“传入4个参数但只接受3个”的矛盾。

修正后的代码

parameter_grid = {'l1_ratio': [0.1, 0.3, 0.5, 0.7, 0.9]} 

GS = GridSearchCV(
    LogisticRegression(penalty='elasticnet', solver='saga', max_iter=1000),
    parameter_grid,
    scoring='roc_auc'  # 显式指定参数名,以关键字参数传递
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:42:36