scikit-learn分类器中的coef_和estimators_元素的顺序

时间:2017-03-30 18:39:32

标签: python scikit-learn

scikit-learn中,LinearSVCMultinomialNB等分类符会公开coef_个对象。这允许检查每个标签的模型权重,例如coef_[0]coef_[1]等。show_top10方法中20_newsgroups documentation显示完整的代码示例。

如果使用OneVsRestClassifier和管道,我编写代码来获取三类分类的包装模型的权重:

pipeline = Pipeline([  
    ('scaler', MaxAbsScaler()),
    ('clf', OneVsRestClassifier(SVC(kernel='linear', probability=True, class_weight='balanced')))])
pipeline.fit(X_train, y_train)

pipeline.named_steps['clf'].estimators_[0].coef_.toarray()[0]
pipeline.named_steps['clf'].estimators_[1].coef_.toarray()[0]
pipeline.named_steps['clf'].estimators_[2].coef_.toarray()[0]

但是coef_(对于LinearSVC)和estimators_(对于包含在OneVsRestClassifier中的SVC)中元素的顺序是如何定义的?

一般来说,我如何可靠地获取i模型属于哪个类estimators_[i]

0 个答案:

没有答案