使用scikit训练逻辑回归学习多类分类

Abh*_*hek 8 python classification scikit-learn

根据scikit多类分类, Logistic回归可以通过在构造函数中设置multi_class = multinomial来用于多类分类.但这样做会给出错误:

码:

text_clf = Pipeline([('vect', TfidfVectorizer()),('clf', LogisticRegression(multi_class = 'multinomial')),])
text_clf = text_clf.fit(X_train, Y_train)
Run Code Online (Sandbox Code Playgroud)

错误:

ValueError:求解器liblinear不支持多项后端.

你能告诉我这里有什么问题吗?

注意:保持multi_class为空,即"ovr"工作正常,但它适合每个分类器的二进制模型,我也想尝试mutlinomial功能.

yan*_*jie 15

来自doc:

目前,'multinomial'选项仅由'lbfgs'和'newton-cg'解算器支持.

因此,您需要显式设置solver'newton-cg'或'lbfgs',因为默认求解器是'liblinear'.