docs: def _get_likelihoods(self, X):
          """Calculate the likelihood over all samples"""
  
          n_samples = np.shape(X)[0]
          likelihoods = np.zeros((n_samples, self.k))
          for i in range(self.k):
              likelihoods[:, i] = self.multivariate_gaussian(X, self.parameters[i])
  
          return likelihoods