scikit中的fit()何时停止运行?
我正在使用 scikit-learn
来训练分类器,特别是使用 linear_model.LogisticRegression
。不过我有个问题:训练的停止标准是什么呢?因为我没有看到任何参数可以表示训练的轮数!
随机森林也是这样吗?
1 个回答
6
对于LogisticRegression
来说,并没有一个固定的迭代次数限制;它会根据一个叫tol
的容忍度来判断是否收敛。tol
值越小,算法运行的时间就会越长。
从源代码来看,算法会在目标函数的梯度的大小小于tol
乘以训练开始前的初始值时停止。这一点值得记录下来。
至于随机森林,训练会在n_estimators
棵树被训练到最大深度max_depth
时停止,同时还会受到min_samples_split
、min_samples_leaf
和max_leaf_nodes
这些参数的限制。树的学习方式和迭代线性模型的学习方式是完全不同的。