我在 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 内核的近似值(另请参阅其作者的博客)。
如果你想要一个真正的在线内核学习者,请查看 LASVM。