code: def __init__(
      self,
      outcome_upper_support,
      outcome_lower_support,
      outcome_names,
      treatment_names,
      backdoor_variables,
      data,
      dep_type,
      indep_type,
      bw,
      defaults,
  ):
      self._data = data
      self._outcome_names = outcome_names
      self._treatment_names = treatment_names
      self._backdoor_variables = backdoor_variables
      self.dep_type = dep_type
      self.indep_type = indep_type
      self.bw = bw
      self.defaults = defaults
      self.outcome_lower_support = outcome_lower_support
      self.outcome_upper_support = outcome_upper_support
      self.conditional_density = KDEMultivariateConditional(
          endog=self._data[self._outcome_names],
          exog=self._data[
              self._treatment_names + self._backdoor_variables
          ],
          dep_type="".join(self.dep_type),
          indep_type="".join(self.indep_type),
          bw=self.bw,
          defaults=self.defaults,
      )
  
file_path: dowhy/dowhy/do_samplers/kernel_density_sampler.py
imports: import numpy
  from scipy.interpolate import interp1d
  from statsmodels.nonparametric.kernel_density import EstimatorSettings, KDEMultivariateConditional
  from dowhy.do_sampler import DoSampler
label_desc: Use image node_id 1 to create a new KernelSampler object from inherited base classes: object with example: obj = KernelSampler(outcome_upper_support, outcome_lower_support, outcome_names, treatment_names, backdoor_variables, data, dep_type, indep_type, bw, defaults)