scikit中的fit()何时停止运行?

4 投票
1 回答
1565 浏览
提问于 2025-04-18 05:20

我正在使用 scikit-learn 来训练分类器,特别是使用 linear_model.LogisticRegression。不过我有个问题:训练的停止标准是什么呢?因为我没有看到任何参数可以表示训练的轮数!

随机森林也是这样吗?

1 个回答

6

对于LogisticRegression来说,并没有一个固定的迭代次数限制;它会根据一个叫tol的容忍度来判断是否收敛。tol值越小,算法运行的时间就会越长。

从源代码来看,算法会在目标函数的梯度的大小小于tol乘以训练开始前的初始值时停止。这一点值得记录下来。

至于随机森林,训练会在n_estimators棵树被训练到最大深度max_depth时停止,同时还会受到min_samples_splitmin_samples_leafmax_leaf_nodes这些参数的限制。树的学习方式和迭代线性模型的学习方式是完全不同的。

撰写回答