【发布时间】:2020-12-18 02:55:04
【问题描述】:
我正在使用SGDClassifier 在sklearn 中训练一个在线学习 SVM 分类器。我了解到可以使用partial_fit。
我的模型定义是:
model = SGDClassifier(loss="hinge", penalty="l2", alpha=0.0001, max_iter=3000, tol=1e-3, shuffle=True, verbose=0, learning_rate='invscaling', eta0=0.01, early_stopping=False)
而且它只是第一次创建。
为了测试它,我首先使用 fit 对整个数据训练了我的分类器模型 1,并获得了 87% 的模型准确率(使用 model.score(X_test, y_test))。然后,为了演示在线培训,我将相同的数据分成 4 组,然后使用 partial_fit 在 4 次不同的运行中输入所有 4 个部分。这是模型 2。
但在这种情况下,我的准确率下降为:87.9 -> 98.89 -> 47.7 -> 29.4。
这可能是什么原因?
【问题讨论】:
-
我正在添加 iPython 笔记本链接。请看一看。 kaggle.com/prashantdandriyal/sgdclassifier
标签: python scikit-learn svm training-data sgd