在 scikit-learn 中,您可以利用 MultinomialNB、GaussianNB 和 BernoulliNB 中提供的 partial_fit() 函数来逐步适应您的模型批量数据。当您处理大量数据以至于无法一次将其全部放入内存时,这很有用。
一个展示这可能如何工作的例子如下:
from sklearn.naive_bayes import GaussianNB
import numpy as np
import pandas as pd
X = np.array([[1],[0],[2],[3],[4],[5],[1],[2],[3],[1],[3]])
Y = np.array([1,1,1,1,1,0,0,0,0,1,1])
all_classes = np.array([0,1])
clf = GaussianNB()
print clf.partial_fit(X, Y, classes=all_classes).class_count_
print clf.partial_fit(X,Y, classes=all_classes).class_count_
产量
[ 4. 7.]
[ 8. 14.]
这是有道理的,因为分类器会看到 4 0 和 7 1 两次。