2014-02-20 62 views
1

我训练使用更新SVM分类用新的数据

clf = sklearn.svm.NuSVC(nu=0.05, probability=True, kernel='rbf') 
clf.fit(points, classes) 

Python中的SVM分类并且对于预测的伟大工程。 现在我想更新分类器参数。 很少的分数会改变分类(从正数到零),并添加一些分数。很少意味着10000或更多的50。

我认为这将是聪明的,但提示SVM分类器开始在以前的参数,这应该是非常接近最佳解决方案。我有问题,有时候,分类器是随机很差的(我认为是不合适的)。 有没有办法在scikit-learn或libsvm中这样做?

+0

这似乎相关,但没有解决方法:https://stats.stackexchange.com/questions/30834/is-it-possible-to-append-training-data-to-existing-svm-models – j13r

回答

4

NuSVC不提供增量/在线学习。为了在scikit-learn中做到这一点,你需要SGDClassifier。这符合线性模型,但您可以使用kernel_approximations模块获得RBF内核的近似值(另请参阅its author's blog)。

如果您想要一个真正的在线内核学习者,请查看LASVM