code: def fit(self, X, y, *args, **kwargs):
      self.scores_ = []
  
      for reg_param in self.reg_param_list:
          est = HSC45TreeClassifier(
              copy.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: import copy
  from copy import deepcopy
  from typing import List
  from xml.dom import minidom
  from xml.etree import ElementTree
  import numpy
  import pandas
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.model_selection import cross_val_score
  from sklearn.utils.validation import check_array, check_is_fitted, check_X_y
  from imodels.util.arguments import check_fit_arguments
  from ..c45_tree.c45_utils import decision, is_numeric_feature, gain, gain_ratio, get_best_split, set_as_leaf_node
  from ...util.data_util import get_clean_dataset
label_desc: Use image node_id 2 for calling the HSC45TreeClassifierCV obj's underlying member method code with example usage: obj.fit(X, y) without return types