code: def _interpolate_coefficients(self, alpha):
          
          exact = False
          coef_idx = None
          for i, val in enumerate(self.alphas_):
              if val > alpha:
                  coef_idx = i
              elif alpha - val < numpy.finfo(numpy.float).eps:
                  coef_idx = i
                  exact = True
                  break
  
          if coef_idx is None:
              coef = self.coef_[:, 0]
          elif exact or coef_idx == len(self.alphas_) - 1:
              coef = self.coef_[:, coef_idx]
          else:
              # interpolate between coefficients
              a1 = self.alphas_[coef_idx + 1]
              a2 = self.alphas_[coef_idx]
              frac = (alpha - a1) / (a2 - a1)
              coef = frac * self.coef_[:, coef_idx] + (1.0 - frac) * self.coef_[:, coef_idx + 1]
  
          return coef
docs: Interpolate coefficients by calculating the weighted average of coefficient vectors corresponding to
          neighbors of alpha in the list of alphas constructed during training.