class_docstr: CVBooster in LightGBM.
  
  Auxiliary data structure to hold and redirect all boosters of ``cv()`` function.
  This class has the same methods as Booster class.
  All method calls, except for the following methods, are actually performed for underlying Boosters and
  then all returned results are returned in a list.
  
  - ``model_from_string()``
  - ``model_to_string()``
  - ``save_model()``
  
  Attributes
  ----------
  boosters : list of Booster
      The list of underlying fitted models.
  best_iteration : int
      The best iteration of fitted model.
docstr: Load CVBooster from dict.
docstr_tok: ["Load","CVBooster","from","dict","."]
code: def _from_dict(self, models: Dict[str, Any]) -> None:
      """Load CVBooster from dict."""
      self.best_iteration = models["best_iteration"]
      self.boosters = []
      for model_str in models["boosters"]:
          self.boosters.append(Booster(model_str=model_str))
  
imports: import copy
  import json
  from collections import OrderedDict, defaultdict
  from operator import attrgetter
  from pathlib import Path
  from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union
  import numpy
  from .None import callback
  from .basic import Booster, Dataset, LightGBMError, _choose_param_value, _ConfigAliases, _InnerPredictor, _LGBM_BoosterEvalMethodResultType, _LGBM_BoosterEvalMethodResultWithStandardDeviationType, _LGBM_CategoricalFeatureConfiguration, _LGBM_CustomObjectiveFunction, _LGBM_EvalFunctionResultType, _LGBM_FeatureNameConfiguration, _log_warning
  from .compat import SKLEARN_INSTALLED, _LGBMBaseCrossValidator, _LGBMGroupKFold, _LGBMStratifiedKFold
label_desc: Use image node_id 2 for calling the CVBooster obj's underlying member method code with example usage: obj._from_dict(models) without return types