class_docstr: Fit a naive bayes model with a Gaussian likelihood
  
  Examples
  --------
  >>> from dask_ml import datasets
  >>> from dask_ml.naive_bayes import GaussianNB
  >>> X, y = datasets.make_classification(chunks=50)
  >>> gnb = GaussianNB()
  >>> gnb.fit(X, y)
code: def fit(self, X, y=None):
      if self.classes is None:
          # TODO: delayed
          (self.classes_,) = dask.compute(np.unique(y))
  
      thetas = []
      sigmas = []
      counts = []
      N, P = X.shape
      K = len(self.classes_)
  
      for i, c in enumerate(self.classes_):
          X_c = X[y == c]
          thetas.append(X_c.mean(axis=0))
          sigmas.append(X_c.var(axis=0))
          counts.append(delayed(len)(X_c))
  
      thetas = da.from_delayed(
          delayed(np.array)(thetas), (K, P), np.float64
      )
      sigmas = da.from_delayed(
          delayed(np.array)(sigmas), (K, P), np.float64
      )
      counts = da.from_delayed(
          delayed(np.array)(counts, np.float64), (P,), np.float64
      )
      priors = counts / N
  
      # Should these be explicitly cached on self?
      self.theta_ = thetas
      self.sigma_ = sigmas
      self.class_count_ = counts
      self.class_prior_ = priors
  
      return self
  
file_path: dask-ml/dask_ml/naive_bayes.py
imports: import dask
  import dask.array
  import numpy
  from dask import delayed
  from sklearn.base import BaseEstimator
label_desc: Use image node_id 2 for calling the GaussianNB obj's underlying member method code with example usage: obj.fit(X, y) and returns: self