我使用 Python 训练了 SVM 分类器
clf = sklearn.svm.NuSVC(nu=0.05, probability=True, kernel='rbf')
clf.fit(points, classes)
这对于预测非常有效。 现在我想更新分类器参数。 很少有点会改变分类(从正数到零),并且会添加一些点。很少意味着 10000 中的 50 或更多。
我认为暗示 SVM 分类器从前面的参数开始是明智的,这应该非常接近最佳解决方案。我遇到的问题是,有时分类器随机地非常差(我认为拟合失败)。 有没有办法在 scikit-learn 或 libsvm 中做到这一点?
最佳答案
NuSVC
不提供增量/在线学习。要在 scikit-learn 中执行此操作,您需要 SGDClassifier。这适合线性模型,但您可以使用 kernel_approximations
获得 RBF 内核的近似值。模块(另请参阅 its author's blog )。
如果你想要一个真正的在线内核学习者,请查看LASVM .
关于python - 使用新数据更新 SVM 分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920032/