code: def __getattr__(name):
      if name in {"HalvingGridSearchCV", "HalvingRandomSearchCV"}:
          raise ImportError(
              f"{name} is experimental and the API might change without any "
              "deprecation cycle. To use it, you need to explicitly import "
              "enable_halving_search_cv:\n"
              "from sklearn.experimental import enable_halving_search_cv"
          )
      raise AttributeError(f"module {__name__} has no attribute {name}")
  
imports: import typing
  from ._plot import LearningCurveDisplay, ValidationCurveDisplay
  from ._search import GridSearchCV, ParameterGrid, ParameterSampler, RandomizedSearchCV
  from ._split import BaseCrossValidator, BaseShuffleSplit, GroupKFold, GroupShuffleSplit, KFold, LeaveOneGroupOut, LeaveOneOut, LeavePGroupsOut, LeavePOut, PredefinedSplit, RepeatedKFold, RepeatedStratifiedKFold, ShuffleSplit, StratifiedGroupKFold, StratifiedKFold, StratifiedShuffleSplit, TimeSeriesSplit, check_cv, train_test_split
  from ._validation import cross_val_predict, cross_val_score, cross_validate, learning_curve, permutation_test_score, validation_curve
label_desc: Use image node_id 1 for calling a global function with example usage: __getattr__(name) without return types