2015-08-18 17 views
7

Come per la regressione logistica scikit multiclass classification può essere utilizzato per la classificazione multi-classe impostando multi_class = multinomial nel costruttore. Ma fare questo dà errore:Formazione regressione logistica usando scikit imparare per la classificazione multi-classe

Codice:

text_clf = Pipeline([('vect', TfidfVectorizer()),('clf', LogisticRegression(multi_class = 'multinomial')),]) 
text_clf = text_clf.fit(X_train, Y_train) 

Errore:

ValueError: Risolutore liblinear non supporta un backend multinomiale.

Puoi dirmi cosa c'è che non va qui?

Nota: Mantenere multi_class a vuoto vale a dire "OVR" sta lavorando bene, ma si inserisce un modello binario per ogni categoria di classificazione e voglio provare funzione mutlinomial anche.

risposta

10

Dal doc:

Currently the ‘multinomial’ option is supported only by the ‘lbfgs’ and ‘newton-cg’ solvers.

Quindi, è necessario impostare in modo esplicito solver-'newton-cg 'o 'lbfgs', dal momento che il solutore di default è 'liblinear'.

Problemi correlati