code: def evaluation_function(
      parameterization: TParameterization,
      coefficients: Dict[str, Dict[TParamValue, float]],
      weight: float = 1.0,
      batch_size: int = 10000,
      noise_var: float = 0.0,
  ) -> Tuple[float, float]:
      probability = _parameterization_probability(
          parameterization=parameterization,
          coefficients=coefficients,
          noise_var=noise_var,
      )
      plays = np.random.binomial(batch_size, weight)
      successes = np.random.binomial(plays, probability)
      mean = float(successes) / plays
      sem = agresti_coull_sem(successes, plays)
      assert isinstance(sem, float)
      return mean, sem
  
file_path: Ax/ax/metrics/factorial.py
imports: from typing import Any, Dict, Tuple
  import numpy
  import pandas
  from ax.core.base_trial import BaseTrial
  from ax.core.batch_trial import BatchTrial
  from ax.core.data import Data
  from ax.core.metric import Metric, MetricFetchE, MetricFetchResult
  from ax.core.types import TParameterization, TParamValue
  from ax.utils.common.result import Err, Ok
  from ax.utils.stats.statstools import agresti_coull_sem
label_desc: Use image node_id 1 for calling a global function with example usage: evaluation_function(parameterization, coefficients, weight, batch_size, noise_var) and returns: mean,  sem