class_docstr: A smoothed classifier g 
docstr: Returns a (1 - alpha) lower confidence bound on a bernoulli
  proportion.
  
  This function uses the Clopper-Pearson method.
  
  :param na: the number of "successes"
  :param n: the number of total draws
  :param alpha: the confidence level
  :return: a lower bound on the binomial proportion which holds true w.p
  at least (1 - alpha) over the samples
code: def _lower_confidence_bound(
      self, na: int, n: int, alpha: float
  ) -> float:
      """Returns a (1 - alpha) lower confidence bound on a bernoulli
      proportion.
  
      This function uses the Clopper-Pearson method.
  
      :param na: the number of "successes"
      :param n: the number of total draws
      :param alpha: the confidence level
      :return: a lower bound on the binomial proportion which holds true w.p
      at least (1 - alpha) over the samples
      """
      return proportion_confint(na, n, alpha=2 * alpha, method="beta")[
          0
      ]
  
file_path: neural-structured-learning/research/third_party/denoised_smoothing/scripts/certification_utils.py
imports: from math import ceil
  from statsmodels.stats.proportion import proportion_confint
  from scipy.stats import norm, binom_test
  import tensorflow
  import numpy
label_desc: Use image node_id 6 for calling the Smooth obj's underlying member method code with example usage: obj._lower_confidence_bound(na, n, alpha) and returns: proportion_confint