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

如何正确使用LinearRegression的.set_params()方法调整超参数

set_params() 报错原因&正确用法

报错原因说明

  • 执行lr.set_params('normalize'==True)报错:'normalize'==True是布尔值判断表达式,运行后仅返回False,属于位置参数。但set_params()方法不接受位置参数,仅接收和模型超参数名匹配的关键字参数。
  • 执行lr.set_params(some_params = {'normalize'})报错:你传入的参数名some_params不属于LinearRegression的超参数列表,同时{'normalize'}是仅包含键的集合,没有对应参数值,不符合参数格式要求。

正确使用方式

scikit-learn所有评估器的set_params()方法用法统一,支持两种传参形式:

1. 直接传入关键字参数

单次修改1个或多个超参数时,直接写超参数名=参数值作为入参即可,超参数名不需要加引号:

# 仅修改normalize参数
lr.set_params(normalize=True)
# 同时修改多个超参数
lr.set_params(normalize=True, fit_intercept=False, n_jobs=4)
2. 字典批量传参

如果参数提前存在字典中,需要用**对字典做解包后再传入:

# 构造参数字典,键为超参数名,值为要设置的参数值
param_dict = {
    "normalize": True,
    "positive": True,
    "n_jobs": 2
}
# 解包字典后传入
lr.set_params(**param_dict)

修改完成后可调用lr.get_params(),校验参数是否设置成功。
*注:如果你使用scikit-learn 1.2及以上版本,normalize参数已被弃用,建议在数据预处理阶段使用StandardScaler或MinMaxScaler完成归一化/标准化操作。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:36:07