本人最近使用周志华的深度森林算法去解决一些问题,于是在github上下载了官方的Gcforest程序,下载地址:https://github.com/kingfengji/gcForest
运行之后发现了一些Warning,有时会导致程序无法运行,下面给出两种常见的Warning和解决方案。
1. FutureWarning
(1) FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.
(2) FutureWarning: Default multi_class will be changed to 'auto' in 0.22. Specify the multi_class option to silence this warning. "this warning.", FutureWarning).
我在第一次运行这个程序的时候,就遇到了这两个警告。原因是因为原先的代码:
ca_config["estimators"].append({"n_folds": 5, "type": "LogisticRegression"})
逻辑回归中没有具体指明solver和multi_class,而LogisticRegression的solver一般有liblinear,lbfgs,newton-cg,sag(具体可自行百度),所以在此我将这行代码改为
ca_config["estimators"].append({"n_folds": 5, "type": "LogisticRegression",
"solver": "lbfgs",
"multi_class": "auto"
})
就消除了这个Warning(solver可根据数据情况自行设定,不一定非要lbfgs)。
2. ConvergenceWarning
ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations. "of iterations.", ConvergenceWarning)
在消除第一个警告之后,又来了一个新警告(收敛警告),说的是lbfgs 无法收敛,要求增加迭代次数。LogisticRegression里有一个max_iter(最大迭代次数)可以设置,默认为1000。所以在此可以将其设为3000。所以将上面那段代码完善一下改为:
ca_config["estimators"].append({"n_folds": 5, "type": "LogisticRegression",
"solver": "lbfgs",
"multi_class": "auto",
"max_iter" : 3000
})
就消除了这个Warning。
————————————————
版权声明:本文为CSDN博主「CoolMan_1995」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/coolman_1995/article/details/90670601