如何在Scikit SGDClassifier上使用partial_fit增加迭代次数以优化每一步的成本函数?

问题描述

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

在给定的样本上执行一个随机梯度下降的时期。
在内部,此方法使用max_iter =1。因此,不能保证在一次调用之后就达到了cost函数的最小值。诸如目标收敛和提前停止之类的问题应由用户处理。

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

解决方法

您可以简单地使用fit()方法而不是partial_fit()方法,并通过为SGDClassifier提供想要的迭代次数提供整数值来增加max_iter。默认值为1000次迭代。

使用max_iter参数查看文档:{​​{3}}

,

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

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

变量iterPerBatch定义了迭代次数。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...