当初笔者遇到这个错误时上网搜了常见办法
就是在lrm后面加参数
“tol=1e-9”
或者加
maxit=1000
详情点击链接:解决方案
相信到这里大部分同学的问题都解决了,但笔者仍然报这个错误,接着我怀疑是我放的维度太多了,毕竟我放了80个左右的维度:
sex+se_54+se_53+se_52+se_51+se_50+se_49+se_48+se_47+se_46+se_45+se_44+se_43+se_42+se_41+se_40+se_39+se_38+se_37+se_36+se_35+se_34+se_33+se_32+se_31+se_30+se_29+se_28+se_27+se_26+se_25+se_24+se_23+se_22+se_21+se_20+se_19+se_18+se_17+se_16+se_15+se_14+se_13+se_12+se_11+se_10+se_9+se_8+se_7+se_6+se_5+se_4+se_3+se_2+se_1+oca_1+oca_2+oca_3+pay_1+pay_2+pay_3+pay_4+pay_5+pay_6+pay_7+pay_8+pay_9+pay_10+pay_11+pay_12+pay_13+pay_14+pay_15+pay_16+pay_17+age_1+age_2+age_3+age_4+age_5
就是上面那么多,不过都是多分类的虚变量。
实在没办法找不出错误,我就一个一个往里加维度,一个一个实验。我从sex开始一直加变量,之前一直没报错,直到加到se_34的时候出现了报错,把se_34去掉,放se_33的时候,报错消失了。到这里我怀疑是数据集出现了问题,可能是se_34的数据出现了全0或者全1的情况,然后我去看了一下se_34的分类,果然这个分类只有一个1,还被分到了测试集里面,训练集里面是全0,于是我跳过这个维度,再将我这80多个维度输入,就没有报错了。
所以问题还没解决的同学可以看看是不是数据集的问题。
笔者写下这困扰了我两个小时的报错记录一下,希望能帮到你。