code: def estimate_ate(
      self,
      X,
      treatment,
      y,
      p=None,
      bootstrap_ci=False,
      n_bootstraps=1000,
      bootstrap_size=10000,
  ):
      pass
  
imports: from abc import ABCMeta, abstractclassmethod
  import logging
  import numpy
  import pandas
  from causalml.inference.meta.explainer import Explainer
  from causalml.inference.meta.utils import check_p_conditions, convert_pd_to_np
  from causalml.propensity import compute_propensity_score
label_desc: Use image node_id 4 for calling the BaseLearner obj's underlying member method code with example usage: obj.estimate_ate(X, treatment, y, p, bootstrap_ci, n_bootstraps, bootstrap_size) without return types