我在进行建模时使用了Logistic Regression。但是在尝试不同的solver时,当我设置solver = “multinomial”时,出现了以下错误:
import sklearn as sklskl.__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.
回答:
请将solver='multinomial'
替换为multi_class='multinomial'
。没有名为’multinomial’的solver。
在评论中你提到,
我在educative inc的课程中阅读了关于solver的参考资料
不要在其他地方阅读参考资料或文档,请使用scikit-learn的网站,https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegressionCV.html
请阅读文档。