from sklearn.naive_bayes import GenerativeBayes, GaussianNB from sklearn.datasets import make_blobs import numpy as np for N in [100, 10000, 1000000]: for dim in (1, 5): for classes in (2, 6): X, y = make_blobs(N, dim, centers=classes) print print "shape = ({0}, {1}), {2} classes".format(N, dim, classes) print "GenerativeBayes" %timeit GenerativeBayes('normal_approximation').fit(X, y).predict(X) print "GaussianNB" %timeit GaussianNB().fit(X, y).predict(X)