0

当在 Scikit SGDClassifier 使用 partial_fit 时,成本函数收敛的迭代次数等于 1,如描述中所述:

对给定样本执行一个时期的随机梯度下降。
在内部,此方法使用 max_iter = 1。因此,不能保证调用一次后达到成本函数的最小值。客观收敛、提前停止等事项应由用户自行处理。

如何增加 max_iter 以使我的成本函数得到适当优化,而不仅仅是一次迭代?或者与 scikit- 描述相关,我如何使用 partial_fit 处理我的分类器的“目标收敛”和“提前停止”?

4

2 回答 2

0

您可以简单地使用该fit()方法而不是该partial_fit()方法,并max_iter通过为您希望为 SGDClassifier 拥有的迭代次数提供一个整数值来增加 。这里的默认值为 1000 次迭代。

查看带有 max_iter 参数的文档:https ://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html

于 2020-09-03T11:47:03.630 回答
0

只是partial_fit()使用相同的数据一次又一次地执行命令,例如使用实际批次。这是我的代码片段,我刚刚围绕partial_fit()命令编写了一个循环:

for i_iter in np.arange(iterPerBatch):
       clf.partial_fit(X_batch, y_batch, classes=[0,1])

该变量iterPerBatch定义了迭代次数。

于 2020-09-04T08:14:17.807 回答