最近有多名学员反馈执行逻辑回归代码后logist=LogisticRegression()报错,错误提示如下:
Anaconda3\lib\site-packages\sklearn\linear_model\_logistic.py:444: ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
解决方案1
根据Increase the number of iterations (max_iter) 提示,增加max_iter的值
logit = LogisticRegression(max_iter=10000)
,这样就OK了。
增加max_iter值后,模型训练时间可能变长,作者认为不是最佳解决方案。
解决方案2
作者访问官网后,认为最佳解决方案是增加参数solver=‘liblinear’,logist=LogisticRegression(solver=‘liblinear’)
官网:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
如下图solver='liblinear’支持正则1和正则2
作者通过上述两种方案测试后,逻辑回归代码均正常运行,无报错。
版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。