我试图使用scikit-learnpython-3.4包进行网格搜索,
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model.logistic import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.grid_search import GridSearchCV
import pandas as pd
from sklearn.cross_validation import train_test_split
from sklearn.metrics import precision_score, recall_score, accuracy_score
from sklearn.preprocessing import LabelBinarizer
import numpy as np
pipeline = Pipeline([
('vect', TfidfVectorizer(stop_words='english')),
('clf', LogisticRegression)
])
parameters = {
'vect__max_df': (0.25, 0.5, 0.75),
'vect__stop_words': ('english', None),
'vect__max_features': (2500, 5000, 10000, None),
'vect__ngram_range': ((1, 1), (1, 2)),
'vect__use_idf': (True, False),
'vect__norm': ('l1', 'l2'),
'clf__penalty': ('l1', 'l2'),
'clf__C': (0.01, …Run Code Online (Sandbox Code Playgroud) 我用来GridSearchCV在嵌套交叉验证的内循环中找到最佳参数。使用GridSearchCV(scorer='balanced_accuracy')找到“内部赢家” ,因此据我了解文档,内部折叠中平均平衡精度最高的模型是“best_estimator”。我不明白refitin的不同论点GridSearchCV与scorer论点结合起来做什么。如果refit是真,什么计分功能时将使用改装的数据集来估计,“内部赢家”的表现?传递给的相同评分函数scorer(因此在我的情况下为“balanced_accuracy”)?为什么你也可以传递一个字符串给refit? 这是否意味着您可以使用不同的函数来 1.) 找到“内部赢家”和 2.) 来估计“内部赢家”在整个数据集上的表现?