code: def fit(self, X, y):
      self.scores_ = []
      for reg_param in self.reg_param_list:
          est = HSFIGSRegressor(deepcopy(self.estimator_), reg_param)
          cv_scores = cross_val_score(
              est, X, y, cv=self.cv, scoring=self.scoring
          )
          self.scores_.append(np.mean(cv_scores))
      self.reg_param = self.reg_param_list[np.argmax(self.scores_)]
      super().fit(X=X, y=y)
  
imports: from copy import deepcopy
  from typing import List
  import numpy
  from sklearn import datasets
  from sklearn.base import BaseEstimator
  from sklearn.metrics import r2_score
  from sklearn.model_selection import cross_val_score
  from sklearn.model_selection import train_test_split
  from sklearn.tree import DecisionTreeRegressor
  from imodels.util import checks
label_desc: Use image node_id 2 for calling the HSFIGSRegressorCV obj's underlying member method code with example usage: obj.fit(X, y) without return types