首页 > 解决方案 > 求解器的逻辑回归中的问题

问题描述

我正在使用逻辑回归进行建模。但是当我应用求解器=“多项式”时尝试多个求解器时,我得到了这个


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.

标签: pythonmachine-learningscikit-learnlogistic-regression

解决方案


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

在你提到的评论中,

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

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

请阅读文档。


推荐阅读