【问题标题】:Parameter Tuning GridSearchCV with Logistic Regression使用 Logistic 回归调整 GridSearchCV 的参数
【发布时间】:2018-02-02 07:35:41
【问题描述】:

我正在尝试通过更改其参数来调整我的逻辑回归模型。

我的代码:

solver_options = ['newton-cg', 'lbfgs', 'liblinear', 'sag']
multi_class_options = ['ovr', 'multinomial']
class_weight_options = ['None', 'balanced']

param_grid = dict(solver = solver_options, multi_class = 
multi_class_options, class_weight = class_weight_options)
grid = GridSearchCV(LogisticRegression, param_grid, cv=12, scoring = 
'accuracy')
grid.fit(X5, y5)
grid.grid_scores_

但这会出错:

TypeError                                 Traceback (most recent call last)
<ipython-input-84-6d812a155800> in <module>()
    1 param_grid = dict(solver = solver_options, multi_class = 
multi_class_options, class_weight = class_weight_options)
    2 grid = GridSearchCV(LogisticRegression, param_grid, cv=12, scoring = 
'accuracy')
----> 3 grid.fit(X5, y5)
      4 grid.grid_scores_

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\grid_search.py in 
fit(self, X, y)
    827 
    828         """
--> 829         return self._fit(X, y, ParameterGrid(self.param_grid))
    830 
    831 

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\grid_search.py in 
_fit(self, X, y, parameter_iterable)
559                                          n_candidates * len(cv)))
560 

--> 561 base_estimator = 克隆(self.estimator) 562 第563章

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\base.py in 
clone(estimator, safe)
     65                             % (repr(estimator), type(estimator)))
     66     klass = estimator.__class__
---> 67     new_object_params = estimator.get_params(deep=False)
     68     for name, param in six.iteritems(new_object_params):
     69         new_object_params[name] = clone(param, safe=False)

TypeError: get_params() missing 1 required positional argument: 'self'

这里有什么关于我做错了什么的建议吗?

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    您需要将 estimator 初始化为实例,而不是直接将类传递给 GridSearchCV

    lr = LogisticRegression()             # initialize the model
    
    grid = GridSearchCV(lr, param_grid, cv=12, scoring = 'accuracy', )
    grid.fit(X5, y5)
    

    【讨论】:

      猜你喜欢
      • 2014-03-15
      • 2017-09-21
      • 1970-01-01
      • 2021-10-12
      • 2021-08-11
      • 2023-03-05
      • 2018-03-23
      • 1970-01-01
      • 2017-11-28
      相关资源
      最近更新 更多