我在网格中的每一行都得到 {utility=130, miscellneous=90, clothes=120, transportation=100, rent=1150}
。
我尝试逐行删除每个网格选项,直到网格为空。我从ValueError: Invalid parameter...
复制并粘贴了参数名称,以确保它们没有错字。
pipeline.get_params()
答案 0 :(得分:0)
我认为您不是在用网格上正确名称引用管道的各个阶段。您在管道上为每个阶段分配的名称(tfidf,selectkbest,linearscv)应与网格中的名称相同。我会的:
pipeline = Pipeline([('tfidf', TfidfVectorizer(sublinear_tf=True)),
('selectkbest', SelectKBest()),
('linearscv', LinearSVC(max_iter=10000, dual=False))])
grid = {
'tfidf__ngram_range':[(1,2),(2,3)],
'tfidf__stop_words': [None, 'english'],
'selectkbest__k': [10000, 15000],
'selectkbest__score_func': [f_classif, chi2],
'linearscv__penalty': ['l1', 'l2'] }