code: def _estimate_AICc(self, y, mu, weights=None):
          
          edof = self.statistics_['edof']
          if self.statistics_['AIC'] is None:
              self.statistics_['AIC'] = self._estimate_AIC(y, mu, weights)
          return self.statistics_['AIC'] + 2*(edof + 1)*(edof + 2)/(y.shape[0] - edof -2)
docs: estimate the corrected Akaike Information Criterion
  
          relies on the estimated degrees of freedom, which must be computed
          before.
  
          Parameters
          ----------
          y : array-like of shape (n_samples,)
              output data vector
          mu : array-like of shape (n_samples,)
              expected value of the targets given the model and inputs
          weights : array-like shape (n_samples,) or None, optional
              containing sample weights
              if None, defaults to array of ones
  
          Returns
          -------
          None