求解器逻辑回归中的问题

时间:2020-06-29 05:28:50

标签: python machine-learning scikit-learn logistic-regression

我正在使用Logistic回归进行建模。但是当我尝试使用solver =“ multinomial”时尝试多个求解器时,我得到了


import sklearn as skl

skl.__version__
'0.21.2'

X_train, X_test, y_train, y_test = train_test_split(multiclass_logistic_data, labels, test_size = 0.2, random_state = 1)

cv_reg = linear_model.LogisticRegressionCV(solver='multinomial', max_iter=1000)
cv_reg.fit(X_train, y_train)

ValueError                                Traceback (most recent call last)
<ipython-input-54-6d16d00d0653> in <module>
----> 1 cv_reg.fit(X_train, y_train)

E:\Anaconda_Install\lib\site-packages\sklearn\linear_model\logistic.py in fit(self, X, y, sample_weight)
   1970         self : object
   1971         """
-> 1972         solver = _check_solver(self.solver, self.penalty, self.dual)
   1973 
   1974         if not isinstance(self.max_iter, numbers.Number) or self.max_iter < 0:

E:\Anaconda_Install\lib\site-packages\sklearn\linear_model\logistic.py in _check_solver(solver, penalty, dual)
    435     if solver not in all_solvers:
    436         raise ValueError("Logistic Regression supports only solvers in %s, got"
--> 437                          " %s." % (all_solvers, solver))
    438 
    439     all_penalties = ['l1', 'l2', 'elasticnet', 'none']

ValueError: Logistic Regression supports only solvers in ['liblinear', 'newton-cg', 'lbfgs', 'sag', 'saga'], got multinomial.

1 个答案:

答案 0 :(得分:2)

solver='multinomial'替换为multi_class='multinomial'。没有“多项式”求解器。

在您提到的评论中,

我在教育公司的过程中阅读了求解器的参考

请勿在其他任何地方阅读参考文献/文档,请使用scikit-learn的网站, https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegressionCV.html

请阅读文档。