code: def _pseudo_data(self, y, lp, mu):
          
          return lp + (y - mu) * self.link.gradient(mu, self.distribution)
docs: compute the pseudo data for a PIRLS iterations
  
          Parameters
          ---------
          y : array-like of shape (n,)
              containing target data
          lp : array-like of shape (n,)
              containing linear predictions by the model
          mu : array-like of shape (n_samples,)
              expected value of the targets given the model and inputs
  
          Returns
          -------
          pseudo_data : np.array of shape (n,)