评估scikit-learn中SGD分类器的收敛性
有没有什么自动化的方法可以评估SGDClassifier的收敛性?
我正在用Python运行一个弹性网逻辑回归模型,使用的是scikit-learn库里的SGDClassifier,并且设置了对数损失和弹性网惩罚。当我在Python中训练模型时,发现我的系数全都是零。而当我在R中使用glmnet时,得到了显著的非零系数。
经过一些调整后,我发现scikit-learn的系数在大约1000次迭代后才接近R中的系数。
在scikit-learn中,有没有什么方法可以让我继续迭代,直到系数的变化相对较小(或者达到最大迭代次数)?还是说我需要通过交叉验证自己来实现这个过程?
1 个回答
3
这是scikit-learn的SGD分类器目前已知的一个限制,当前这个模型没有自动检查是否收敛的功能。不过,你可以设置 verbose=1
,这样在运行的时候会有一些反馈信息。