class_docstr: The `BayesianKernelDensityClassifier` estimator trains using Kernel Density estimations to generate the joint
  distribution.
  
  You can pass any keyword parameter that scikit-learn's
  [KernelDensity](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KernelDensity.html)
  model uses and it will be passed along.
  
  Attributes
  ----------
  classes_ : np.ndarray of shape (n_classes,)
      The classes seen during `fit`.
  models_ : dict[int, KernelDensity]
      The models for each class seen during `fit`.
  priors_logp_ : dict
      The log priors for each class seen during `fit` (estimated as `np.log(len(x_subset) / len(X))`)
class_docstr_tok: ["The","`","BayesianKernelDensityClassifier","`","estimator","trains","using","Kernel","Density","estimations","to","generate","the","joint","distribution",".","You","can","pass","any","keyword","parameter","that","scikit-learn's","[","KernelDensity","]","(","https",":","\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.neighbors.KernelDensity.html",")","model","uses","and","it","will","be","passed","along",".","Attributes","--","--","--","--","--","classes_",":","np.ndarray","of","shape","(","n_classes",",",")","The","classes","seen","during","`","fit","`",".","models_",":","dict","[","int",",","KernelDensity","]","The","models","for","each","class","seen","during","`","fit","`",".","priors_logp_",":","dict","The","log","priors","for","each","class","seen","during","`","fit","`","(","estimated","as","`","np.log","(","len","(","x_subset",")","\/","len","(","X",")",")","`",")"]
docstr: Predict labels for `X` using fitted estimator and `predict_proba()` method, by taking the class with the
  highest probability.
  
  Parameters
  ----------
  X : array-like of shape (n_samples, n_features)
      The data to predict.
  
  Returns
  -------
  array-like of shape (n_samples,)
      The predicted data.
docstr_tok: ["Predict","labels","for","`","X","`","using","fitted","estimator","and","`","predict_proba","(",")","`","method",",","by","taking","the","class","with","the","highest","probability",".","Parameters","--","--","--","--","--","X",":","array-like","of","shape","(","n_samples",",","n_features",")","The","data","to","predict",".","Returns","--","--","--","-","array-like","of","shape","(","n_samples",",",")","The","predicted","data","."]
code: def predict(self, X):
      """Predict labels for `X` using fitted estimator and `predict_proba()` method, by taking the class with the
      highest probability.
  
      Parameters
      ----------
      X : array-like of shape (n_samples, n_features)
          The data to predict.
  
      Returns
      -------
      array-like of shape (n_samples,)
          The predicted data.
      """
      check_is_fitted(self)
      X = check_array(X, estimator=self, dtype=FLOAT_DTYPES)
  
      return self.classes_[np.argmax(self.predict_proba(X), 1)]
  
file_path: scikit-lego/sklego/neighbors.py
imports: import numpy
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.neighbors import KernelDensity
  from sklearn.utils import check_X_y
  from sklearn.utils.multiclass import unique_labels
  from sklearn.utils.validation import FLOAT_DTYPES, check_array, check_is_fitted
label_desc: Use image node_id 4 for calling the BayesianKernelDensityClassifier obj's underlying member method code with example usage: obj.predict(X) and returns: self