首页 > 解决方案 > GridSearch中的sklearn逻辑回归参数

问题描述

只是想知道如何将参数分成一个组并将其传递给gridsearch?因为我想将惩罚 l1 和 l2 传递给网格搜索,并将相应的求解器 newton-cg 传递给 L2。

但是,当我运行下面的代码时,gridsearch 将首先使用 newton-cg 运行 l1 并导致错误 msg ValueError: Solver newton-cg support only l2 惩罚,得到 l1 惩罚。

谢谢

 param_grid = [

  {'penalty':['l1','l2'] ,
   'solver' : ['newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga']
  }

 ]

标签: machine-learningscikit-learnpipelinelogistic-regression

解决方案


试试这个例子:

param_grid = [
  {'penalty': ['l1'], 'solver': [ 'lbfgs', 'liblinear', 'sag', 'saga']},
  {'penalty': ['l2'], 'solver': ['newton-cg']},
 ]

这里l1将与'lbfgs'、'liblinear'、'sag'、'saga'一起尝试,而l2将仅与'newton-cg'一起尝试


推荐阅读