将相应的类添加到predict_proba(GridSearchCV sklearn)

问题描述 投票:4回答:2

我正在使用GridSearchCV和管道来对一些文本文档进行分类。代码段:

clf = Pipeline([('vect', TfidfVectorizer()), ('clf', SVC())])
parameters = {'vect__ngram_range' : [(1,2)], 'vect__min_df' : [2], 'vect__stop_words' : ['english'],
                  'vect__lowercase' : [True], 'vect__norm' : ['l2'], 'vect__analyzer' : ['word'], 'vect__binary' : [True], 
                  'clf__kernel' : ['rbf'], 'clf__C' : [100], 'clf__gamma' : [0.01], 'clf__probability' : [True]} 
grid_search = GridSearchCV(clf, parameters, n_jobs = -2, refit = True, cv = 10)
grid_search.fit(corpus, labels)

我的问题是,当使用grid_serach.predict_proba(new_doc)并想找出概率与grid_search.classes_对应的类时,出现以下错误:

[AttributeError:'GridSearchCV'对象没有属性'classes _']

我错过了什么?我认为,如果管道中的最后一个“步骤”是分类器,那么GridSearchCV的返回也是分类器。因此,可以使用该分类器的属性,例如类别_。

python scikit-learn text-classification
2个回答
8
投票

如上所述,grid_search.best_estimator_.classes_返回一条错误消息,因为它返回了没有属性.classes_的管道。但是,通过首先调用管道的步骤分类器,我可以使用classes属性。这是解决方案


7
投票

尝试grid_search.best_estimator_.classes_

© www.soinside.com 2019 - 2024. All rights reserved.