docs: def fit(self, X, fixed_initialization=None):
          """Run GloVe and return the new matrix.
  
          Parameters
          ----------
          X : array-like of shape = [n_words, n_words]
              The square count matrix.
  
          fixed_initialization : None or dict (default: None)
              If a dict, this will replace the random initializations
              of `W`, `C`, `bw` and `bc`. Dict keys must be
              ['W', 'C', 'bw', 'bc'], and values should be np.arrays
              of appropriate size ((n_words, n) for `W` and `C`, and
              (n_words, ) for `bw` and `bc`).
  
          Returns
          -------
          np.array
              The learned vectors, of dimensionality `(len(X), self.n)`
              I.e. each row is the embedding of the corresponding element
              of X.
          """
          return super(GloVeBase, self).fit(
              X, fixed_initialization=fixed_initialization)