code: def gaussian_basis(X, mu, sigma):
      """Gaussian Basis function
  
      Parameters
      ----------
      X : array_like
          input data: shape = (n_samples, n_features)
      mu : array_like
          means of bases, shape = (n_bases, n_features)
      sigma : float or array_like
          must broadcast to shape of mu
  
      Returns
      -------
      Xg : ndarray
          shape = (n_samples, n_bases)
      """
      X = np.asarray(X)
      mu = np.atleast_2d(mu)
      sigma = np.atleast_2d(sigma)
  
      n_samples, n_features = X.shape
  
      if mu.shape[1] != n_features:
          raise ValueError("shape of mu must match shape of X")
  
      r = (((X[:, None, :] - mu) / sigma) ** 2).sum(2)
      Xg = np.exp(-0.5 * r)
      Xg *= 1.0 / np.sqrt(2 * np.pi) / sigma.prod(1)
  
      return Xg
  
imports: import numpy
  from sklearn.base import BaseEstimator
  from sklearn.preprocessing import PolynomialFeatures
  from sklearn.linear_model import LinearRegression, Lasso, Ridge
label_desc: Use image node_id 1 for calling a global function with example usage: gaussian_basis(X, mu, sigma) and returns: Xg