docs: def get_parameters(self, prior_type='BDeu', equivalent_sample_size=5, pseudo_counts=None):
          """
          Method to estimate the model parameters (CPDs).
  
          Parameters
          ----------
          prior_type: 'dirichlet', 'BDeu', or 'K2'
              string indicting which type of prior to use for the model parameters.
              - If 'prior_type' is 'dirichlet', the following must be provided:
                  'pseudo_counts' = dirichlet hyperparameters; a dict containing, for each variable, a 2-D
                   array of the shape (node_card, product of parents_card) with a "virtual" count for each 
                   variable state in the CPD, that is added to the state counts.
                   (lexicographic ordering of states assumed)
              - If 'prior_type' is 'BDeu', then an 'equivalent_sample_size'
                  must be specified instead of 'pseudo_counts'. This is equivalent to
                  'prior_type=dirichlet' and using uniform 'pseudo_counts' of
                  `equivalent_sample_size/(node_cardinality*np.prod(parents_cardinalities))` for each node.
                  'equivalent_sample_size' can either be a numerical value or a dict that specifies
                  the size for each variable seperately.
              - A prior_type of 'K2' is a shorthand for 'dirichlet' + setting every pseudo_count to 1,
                  regardless of the cardinality of the variable.
  
          Returns
          -------
          parameters: list
              List of TabularCPDs, one for each variable of the model
  
          Examples
          --------
          >>> import numpy as np
          >>> import pandas as pd
          >>> from pgmpy.models import BayesianModel
          >>> from pgmpy.estimators import BayesianEstimator
          >>> values = pd.DataFrame(np.random.randint(low=0, high=2, size=(1000, 4)),
          ...                       columns=['A', 'B', 'C', 'D'])
          >>> model = BayesianModel([('A', 'B'), ('C', 'B'), ('C', 'D')])
          >>> estimator = BayesianEstimator(model, values)
          >>> estimator.get_parameters(prior_type='BDeu', equivalent_sample_size=5)
          [<TabularCPD representing P(C:2) at 0x7f7b534251d0>,
          <TabularCPD representing P(B:2 | C:2, A:2) at 0x7f7b4dfd4da0>,
          <TabularCPD representing P(A:2) at 0x7f7b4dfd4fd0>,
          <TabularCPD representing P(D:2 | C:2) at 0x7f7b4df822b0>]
          """
          parameters = []
  
          for node in self.model.nodes():
              _equivalent_sample_size = equivalent_sample_size[node] if isinstance(equivalent_sample_size, dict) else \
                                        equivalent_sample_size
              _pseudo_counts = pseudo_counts[node] if pseudo_counts else None
  
              cpd = self.estimate_cpd(node,
                                      prior_type=prior_type,
                                      equivalent_sample_size=_equivalent_sample_size,
                                      pseudo_counts=_pseudo_counts)
              parameters.append(cpd)
  
          return parameters