By adding in `alpha` here, don't you get different results for `fit(vstack(X1, X2))` and `partial_fit(X1).partial_fit(X2)`? The smoothing was done here for convenience, but you should only do it when you're computing the probabilities, I think.