python - 将 dict 传递给 scikit learn estimator

标签 python dictionary scikit-learn

我试图将模型参数作为 dict 传递给 Scikit-learn 估计器,但没有运气。它似乎只是将我的 dict 嵌套到参数之一中。例如:

params = {
 'copy_X': True, 
 'fit_intercept': False, 
 'normalize': True
}

lr = LinearRegression(params)

给我:

LinearRegression(copy_X=True,
         fit_intercept={'copy_X': True, 'fit_intercept': False,'normalize': True},
     normalize=False)

另外,我创建了一个函数来迭代字典,并可以创建一个字符串,如:

'copy_X=True, fit_intercept=True, normalize=False'

这同样不成功。有人在这里有什么建议吗?我唯一的限制是数据将以 dict 的形式传给我(实际上是一个 json 对象正在加载 json.uploads)。

谢谢。

最佳答案

使用正确参数初始化估算器的最佳解决方案是解压字典:

lr = LinearRegression(**params)

如果由于某种原因之后需要设置一些参数,可以使用:

lr.set_params(**params)

这比使用 setattr 的优势在于它允许 Scikit 学习对参数执行一些验证检查。

关于python - 将 dict 传递给 scikit learn estimator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110973/

相关文章:

python - 在 Python 中执行潜在类分析的正确方法是什么?

python - "enumerate"如何知道何时解包返回值?

python - 以可调比例拆分列表

java - 如何使用鼠标和/或按键在 map 上移动(类似 RTS 的游戏)

c++ - 如何从以一对作为键的映射中检索值?

Python Dictionary 获取 Key 的值

python - 如何返回标签的原始值

python - 具有多项式特征的内核岭和简单岭

python - 在 Python 中安装 mahotas 后无法定位 freeimage

python - 按字母顺序返回字典的输出