code: def df(self, y, f, n):
          r
          y, f, n = np.broadcast_arrays(y, f, n)
          return y - expit(f) * n
docs: r"""
          Derivative of Binomial log likelihood w.r.t.\  f.
  
          Parameters
          ----------
          y: ndarray
              array of 0, 1 valued integers of targets
          f: ndarray
              latent function from the GLM prior (:math:`\mathbf{f} =
              \boldsymbol\Phi \mathbf{w}`)
          n: ndarray
              the total number of observations
  
          Returns
          -------
          df: ndarray
              the derivative :math:`\partial \log p(y|f) / \partial f`