I am trying to implement a Gaussian NB training like this. However the gnb.fit() throws an exception if the dimensions of X are not equal (ie all lists within X need to be same length). What is the correct way to call fit() if my training samples are vectors of varying lengths? 

```
 def train(X, Y):
   gnb = GaussianNB()
   gnb.fit(X, Y)
   return gnb

 >>> X = [[1,2,3], [4,5,6,7], [8,9]]
 >>> Y = [1,1,1]
 >>> snb.train(X, Y)

 /Library/Python/2.7/site-packages/sklearn/utils/validation.py:395: 
 DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 
 and will raise ValueError in 0.19. Reshape your data either using 
 X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) 
 if it contains a single sample.
 DeprecationWarning)
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "snb.py", line 113, in train
 gnb.fit(X, Y)
 File "/Library/Python/2.7/site-packages/sklearn/naive_bayes.py", line 
 182, in fit
 X, y = check_X_y(X, y)
 File "/Library/Python/2.7/site-packages/sklearn/utils/validation.py", 
 line 521, in check_X_y
 ensure_min_features, warn_on_dtype, estimator)
 File "/Library/Python/2.7/site-packages/sklearn/utils/validation.py", 
 line 402, in check_array
 array = array.astype(np.float64)
 ValueError: setting an array element with a sequence.

```