docs: def lasso_regression(self):
          """ Lasso Regression.
  
          This function runs lasso regression and stores the,
          1. Model
          2. Model name
          3. Max score
          4. Metrics
  
          """
  
          score_list = []
          max_score = float('-inf')
          best_alpha = None
  
          for alpha in self.alphas:
              # model = Lasso(normalize=True, alpha=alpha, max_iter=5000)
              model = Lasso(alpha=alpha, max_iter=5000)
              model.fit(self.baseline_in, self.baseline_out.values.ravel())
  
              scores = []
              kfold = KFold(n_splits=self.cv, shuffle=True, random_state=42)
              for i, (train, test) in enumerate(kfold.split(self.baseline_in, self.baseline_out)):
                  model.fit(self.baseline_in.iloc[train], self.baseline_out.iloc[train])
                  scores.append(model.score(self.baseline_in.iloc[test], self.baseline_out.iloc[test]))
              mean_score = np.mean(scores)
  
              score_list.append(mean_score)
              
              if mean_score > max_score:
                  max_score = mean_score
                  best_alpha = alpha
  
          # self.models.append(Lasso(normalize=True, alpha=best_alpha, max_iter=5000))
          self.models.append(Lasso(alpha=best_alpha, max_iter=5000))
          self.model_names.append('Lasso Regression')
          self.max_scores.append(max_score)
          
          self.metrics['Lasso Regression'] = {}
          self.metrics['Lasso Regression']['R2'] = max_score
          self.metrics['Lasso Regression']['Adj R2'] = self.adj_r2(max_score, self.baseline_in.shape[0], self.baseline_in.shape[1])