sklearn SGDClassifier fit() 与 partial_fit()

Posted

技术标签:

【中文标题】sklearn SGDClassifier fit() 与 partial_fit()【英文标题】:sklearn SGDClassifier fit() vs partial_fit() 【发布时间】:2017-04-02 16:15:17 【问题描述】:

我对@9​​87654323@ 的fit()partial_fit() 方法感到困惑。文档对两者都说:“使用随机梯度下降拟合线性模型。”。

我对随机梯度下降的了解是,在一次迭代中更新模型的参数需要一个(或整体的一小部分)训练示例。梯度下降在每次迭代中使用整个数据集。我想使用逻辑回归训练模型。我想实现正常的梯度下降和随机梯度下降并比较它们所需的时间。如何使用SGDClassifier 做到这一点? fit() 方法是否像正常的梯度下降一样工作?

【问题讨论】:

【参考方案1】:

我认为partial_fit 方法对于更新已经训练的模型很有用,而fit 方法将从头开始重新训练模型。

至于手动选择每次权重更新中包含多少数据,我似乎在SGDClassifier documentation 中找不到这方面的论据。

【讨论】:

嗨,感谢您的回复。但是这两种方法都使用随机梯度下降。那是对的吗?如果是,那么要实现逻辑回归的梯度下降,我认为必须使用 LogisticRegression 是的,据我所知,它们都使用 SGD(毕竟它们都是 SGDClassifier 的方法!) - 请务必密切注意您用于 LogisticRegression 的 solver

以上是关于sklearn SGDClassifier fit() 与 partial_fit()的主要内容,如果未能解决你的问题,请参考以下文章

在 neuraxle 管道中使用 fit_params

sklearn中的SGDClassifier

sklearn 使用SGDClassifier 使用 kerasMNIST数据集 进行图片二分类

sklearn SGDClassifier,当没有匹配时产生标签?

sklearn SGDClassifier 模型阈值与模型分数有何关系?

sample_weight 在 SGDClassifier 中是如何工作的?