code: def mll(y_true, y_pred, y_var):
      
  
      return - norm.logpdf(y_true, loc=y_pred, scale=np.sqrt(y_var)).mean()
docs: Mean log loss under a Gaussian distribution.
  
      Parameters
      ----------
      y_true: ndarray
          vector of true targets
      y_pred: ndarray
          vector of predicted targets
      y_var: float or ndarray
          predicted variances
  
      Returns
      -------
      float:
          The mean negative log loss (negative log likelihood)
  
      Example
      -------
      >>> y_true = np.random.randn(100)
      >>> mean_prob = - norm.logpdf(1e-2, loc=0)  # -ve log prob close to mean
      >>> mll(y_true, y_true, 1) <= mean_prob  # Should be good predictor
      True
      >>> mll(y_true, np.random.randn(100), 1) >= mean_prob  # naive predictor
      True