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

Python3.7.5下scikit-learn 0.22的ParameterGrid是否会产生重复项?

问题结论

scikit-learn 0.22版本的ParameterGrid本身不会生成重复项,你遇到的重复问题是参数配置错误导致的

问题原因
  • ParameterGrid的核心逻辑是生成所有参数候选值的笛卡尔积,仅当某一个参数的候选值列表本身存在重复项时,才会生成重复的参数组合
  • 你提供的参数字典中,CROSSVAL_PROTEINS_STRING的候选值列表里PPARG重复出现了2次,导致其他参数完全相同的组合会被重复生成两次,最终统计到重复项
修复方案

方案1:修复参数配置(推荐)

删掉CROSSVAL_PROTEINS_STRING列表中重复的PPARG值,修改后的参数项如下:

"CROSSVAL_PROTEINS_STRING": ['MARK4', 'ACHE', 'JNK2', 'AR', 'EPHB4', 'PPARG', 'MDM2', 'PARP-1', 'TP', 'TPA', 'SIRT2', 'SARS-HCoV'],

修改后重新运行测试代码,即可得到无重复的参数组合。

方案2:生成后去重

如果业务场景确实需要保留参数候选列表里的重复值,可以在生成参数组合后手动去重,示例代码如下:

# 去重参数组合
unique_params = [dict(t) for t in {tuple(p.items()) for p in ParameterGrid(hyper_params_dict)}]
# 转DataFrame
df = pd.DataFrame(unique_params)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 23:12:02