class_docstr: Class used to compute parameters for a model using Bayesian Parameter Estimation.
  See `MaximumLikelihoodEstimator` for constructor parameters.
class_docstr_tok: ["Class","used","to","compute","parameters","for","a","model","using","Bayesian","Parameter","Estimation",".","See","`","MaximumLikelihoodEstimator","`","for","constructor","parameters","."]
code: def __init__(self, model, data, **kwargs):
      if not isinstance(model, BayesianNetwork):
          raise NotImplementedError(
              "Bayesian Parameter Estimation is only implemented for BayesianNetwork"
          )
      elif len(model.latents) != 0:
          raise ValueError(
              f"Bayesian Parameter Estimation works only on models with all observed variables. Found latent variables: {model.latents}"
          )
  
      super(BayesianEstimator, self).__init__(model, data, **kwargs)
  
file_path: pgmpy/pgmpy/estimators/BayesianEstimator.py
imports: import numbers
  from itertools import chain
  import numpy
  from joblib import Parallel, delayed
  from pgmpy.estimators import ParameterEstimator
  from pgmpy.factors.discrete import TabularCPD
  from pgmpy.global_vars import logger
  from pgmpy.models import BayesianNetwork
label_desc: Use image node_id 1 to create a new BayesianEstimator object from inherited base classes: ParameterEstimator with example: obj = BayesianEstimator(model, data)