是否有可能(以及如何进行)动态训练sklearn MultinomialNB分类器?每当我向其中发送电子邮件时,我都希望训练(更新)我的垃圾邮件分类器。
我想要这个(不起作用):
x_train, x_test, y_train, y_test = tts(features, labels, test_size=0.2)
clf = MultinomialNB()
for i in range(len(x_train)):
clf.fit([x_train[i]], [y_train[i]])
preds = clf.predict(x_test)
具有与此类似的结果(正常工作):
x_train, x_test, y_train, y_test = tts(features, labels, test_size=0.2)
clf = MultinomialNB()
clf.fit(x_train, y_train)
preds = clf.predict(x_test)
Scikit-learn支持对包括MultinomialNB在内的多种算法进行增量学习。检查文档here
您将需要使用方法partial_fit()
而不是partial_fit()
,因此示例代码如下:
fit()