AttributeError:“RandomizedSearchCV”对象没有属性“grid_scores_”

Posted

技术标签:

【中文标题】AttributeError:“RandomizedSearchCV”对象没有属性“grid_scores_”【英文标题】:AttributeError: 'RandomizedSearchCV' object has no attribute 'grid_scores_' 【发布时间】:2020-08-26 14:00:43 【问题描述】:

当我尝试这段代码时:

import sklearn_crfsuite
from sklearn.model_selection import RandomizedSearchCV

f1_scorer = make_scorer(metrics.flat_f1_score,
                    average='weighted', labels=labels)
params_space = 
 'c1': scipy.stats.expon(scale=0.5),
 'c2': scipy.stats.expon(scale=0.05),


crf = sklearn_crfsuite.CRF(
    algorithm='lbfgs',
    max_iterations=100,
    all_possible_transitions=True)

rs = RandomizedSearchCV(crf, params_space,
                    cv=3,
                    verbose=1,
                    n_jobs=-1,
                    n_iter=50,
                    scoring=f1_scorer)

rs.fit(X_train, y_train)

_x = [s.parameters['c1'] for s in rs.grid_scores_]
_y = [s.parameters['c2'] for s in rs.grid_scores_]
_c = [s.mean_validation_score for s in rs.grid_scores_]

我收到了错误:

sklearn-crfsuite 版本 = 0.3.6

【问题讨论】:

尝试使用 cv_results_ 而不是 grid_scores_ 如果有帮助请标记答案。谢谢 【参考方案1】:

cv_results_ 的实现方式与 grid_scores_ 不同

要提取正确的 _x、_y 和 _c 集合,下面的代码应该可以工作

_x = [s['c1'] for s in rs.cv_results_['params']]
_y = [s['c2'] for s in rs.cv_results_['params']]
_c = [s for s in rs.cv_results_['mean_train_score']]

【讨论】:

【参考方案2】:

grid_scores_ 已弃用,现在使用cv_results_

更多参考RandomizedSearchCV

【讨论】:

以上是关于AttributeError:“RandomizedSearchCV”对象没有属性“grid_scores_”的主要内容,如果未能解决你的问题,请参考以下文章

VB中 randomize 是用来干啥的 +他和不+他有啥区别 请举例说明

vb中 Randomize 啥意思

randomize()在C语言中如何应用?

VB中randomize的作用

vb中的randomize怎么用

动态数组的系统verilog中的内存分配 - new()/ randomize()函数