繁体   English   中英

ParameterGrid 拆分字符串而不是组合

[英]ParameterGrid splits the string instead of combination

我正在尝试获取 model 选择的参数网格。 因此,按照Sklearn 文档中关于 ParameterGrid function的示例,我们有这个:

param_grid = {'a': [1, 2], 'b': [True, False]}
list(ParameterGrid(param_grid)) == (
                [{'a': 1, 'b': True}, {'a': 1, 'b': False},
                 {'a': 2, 'b': True}, {'a': 2, 'b': False}])

但我想要的是只传递一个值,而不使用列表注释([]),如下所示:

param_grid = {'a': [1, 2], 'b': 'True', 'c': 'something'}

但是, list(ParameterGrid(param_grid))只是拆分所有字符串,而不是创建两个组合。 结果:

{'a': 1, 'b': 'T', 'c': 's'}
{'a': 1, 'b': 'T', 'c': 'o'}
{'a': 1, 'b': 'T', 'c': 'm'}

问题是,需要将所有项目以列表格式放置,还是我遗漏了什么?

是的,您需要使用[]表示法,因为ParameterGrid期望值是可迭代的。 因此,当您将b设置为

'b': 'True'

它将遍历字符串'True' ,因此您将获得 T、R、U 和 E 的不同组合。

要解决此问题,请像这样使用它

param_grid = {'a': [1, 2], 'b': [True], 'c': ['something']}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM