code: def _make_nn_regression(
      n_samples=100,
      n_features=100,
      n_informative=10,
      shuffle=True,
      random_state=None,
  ):
      generator = check_random_state(random_state)
  
      row = np.repeat(np.arange(n_samples), n_informative)
      col = np.zeros(n_samples * n_informative, dtype=np.int32)
      data = generator.rand(n_samples * n_informative)
  
      n = 0
      ind = np.arange(n_features)
      for i in range(n_samples):
          generator.shuffle(ind)
          col[n : n + n_informative] = ind[:n_informative]
          n += n_informative
  
      X = sp.coo_matrix(
          (data, (row, col)), shape=(n_samples, n_features)
      )
      X = X.tocsr()
  
      # Generate a ground truth model with only n_informative features being non
      # zeros (the other features are not correlated to y and should be ignored
      # by a sparsifying regularizers such as L1 or elastic net)
      ground_truth = np.zeros(n_features)
      v = generator.rand(n_informative)
      v += np.min(v)
      ground_truth[:n_informative] = 100 * v
      y = safe_sparse_dot(X, ground_truth)
  
      # Randomly permute samples and features
      if shuffle:
          X, y = shuffle_func(X, y, random_state=generator)
  
      return X, y, ground_truth
  
file_path: lightning/lightning/impl/datasets/samples_generator.py
imports: from itertools import product
  import numpy
  import scipy.sparse
  from sklearn.utils.extmath import safe_sparse_dot
  from sklearn.utils import check_random_state
  from sklearn.utils import shuffle
  from sklearn.preprocessing import MinMaxScaler
  from sklearn.preprocessing import Normalizer
label_desc: Use image node_id 1 for calling a global function with example usage: _make_nn_regression(n_samples, n_features, n_informative, shuffle, random_state) and returns: X,  y,  ground_truth