训练logisttic回归时报错:numpy.linalg.LinAlgError: Singular matrix
在使用statsmodel中的logistic回归,调用fit时报错:numpy.linalg.LinAlgError: Singular matrix
检查日志发现:在报错附近有这样一行:statsmodel.logit Maximum number of iterations has been exceeded.
模型超过了最大迭代次数。查找得到的解决方案有:
第一种解决办法:
默认的优化方法是newton,源码种给出了method的几种参数的表示,几种优化方法的区别这篇文章讲的很详细:https://www.cnblogs.com/yymn/p/4512868.html
按照该方案解决后是没有再报错,但是得到的模型conf明显不对。
第二种解决思路:
优化难题:通常Logit收敛速度很快,默认迭代次数设置得很低。在对fit
的调用中添加一个更大的maxiter
关键字,或者用前面的结果重新调整为start_params
在大多数情况下都有帮助。
定位到出现问题的自变量和因变量的地方,发现大部分的迭代都在10-15次之后达到收敛,但是这组迭代达到了35次,
于是添加参数maxiter=25,得到了解决。
唯有热爱方能抵御岁月漫长。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-04-07 Hive启动后show tables报错:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient