python sklearn 梯度下降法_使用scikit learn(sklearn)进行批量梯度下降

我正在使用Scikit Learn(sklearn)玩一对多逻辑回归分类器。我有一个庞大的数据集,速度太慢,无法一次运行完所有数据;同时,我想在培训过程中研究学习曲线。

我想用批梯度下降来训练我的分批分类器,比如说,500个样本。有没有什么方法可以使用sklearn来做到这一点,或者我应该放弃sklearn而“滚我自己的”?

这就是我目前所拥有的:from sklearn.linear_model import LogisticRegression

from sklearn.multiclass import OneVsRestClassifier

# xs are subsets of my training data, ys are ground truth for same; I have more

# data available for further training and cross-validation:

xs.shape, ys.shape

# => ((500, 784), (500))

lr = OneVsRestClassifier(LogisticRegression())

lr.fit(xs, ys)

lr.predict(xs[0,:])

# => [ 1.]

ys[0]

# => 1.0

也就是说,它正确地识别了一个训练样本(是的,我意识到最好用新的数据来评估它——这只是一个快速的烟雾测试)。

R.e.批量梯度下降:我还没有达到创建学习曲线的程度,但是我们可以简单地在随后的训练数据子集上重复运行fit?或者还有其他的功能可以分批训练吗?文档和谷歌对此事相当沉默。谢谢!

你可能感兴趣的:(python,sklearn,梯度下降法)