【发布时间】:2016-05-03 21:21:19
【问题描述】:
我试图了解如何获取GridSearchCV 的记分员值。下面的示例代码在文本数据上设置了一个小管道。
然后它会在不同的 ngram 上设置网格搜索。
评分是通过 f1 度量完成的:
#setup the pipeline
tfidf_vec = TfidfVectorizer(analyzer='word', min_df=0.05, max_df=0.95)
linearsvc = LinearSVC()
clf = Pipeline([('tfidf_vec', tfidf_vec), ('linearsvc', linearsvc)])
# setup the grid search
parameters = {'tfidf_vec__ngram_range': [(1, 1), (1, 2)]}
gs_clf = GridSearchCV(clf, parameters, n_jobs=-1, scoring='f1')
gs_clf = gs_clf.fit(docs_train, y_train)
现在我可以打印分数了:
打印 gs_clf.grid_scores_
[mean: 0.81548, std: 0.01324, params: {'tfidf_vec__ngram_range': (1, 1)},
mean: 0.82143, std: 0.00538, params: {'tfidf_vec__ngram_range': (1, 2)}]
打印 gs_clf.grid_scores_[0].cv_validation_scores
array([ 0.83234714, 0.8 , 0.81409002])
documentation我不清楚:
gs_clf.grid_scores_[0].cv_validation_scores 是一个数组,其分数是通过评分参数定义的,每折(在这种情况下,f1 测量每折)?如果不是,那是什么?
如果我改为选择另一个metric,例如scoring='f1_micro',gs_clf.grid_scores_[i].cv_validation_scores 中的每个数组将包含特定网格搜索参数选择的折叠的f1_micro 度量?
【问题讨论】:
-
是的,你理解正确
标签: python scikit-learn