code: def _get_hyperband_params(R, eta=3):
      """
      Parameters
      ----------
      R : int
          The maximum number of iterations desired.
      eta : int
          How aggressive to be in the search
  
      Returns
      -------
      brackets : Dict[int, Tuple[int, int]]
          A dictionary of the form {bracket_id: (n_models, n_initial_iter)}
  
      Notes
      -----
      The bracket index is a measure of how strong that n,r combination
      adapts to prior input. i.e., a bracket ID of 0 means "doesn't adapt
      at all" and bracket index of 5 means "adapts pretty strongly"
  
      ``R`` and ``eta`` are the terminology that the Hyperband paper uses [1]_.
  
      References
      ----------
      .. [1] "Hyperband: A novel bandit-based approach to hyperparameter
             optimization", 2016 by L. Li, K. Jamieson, G. DeSalvo, A.
             Rostamizadeh, and A. Talwalkar. https://arxiv.org/abs/1603.06560
  
      """
      s_max = math.floor(math.log(R, eta))
      B = (s_max + 1) * R
  
      brackets = list(reversed(range(int(s_max + 1))))
      N = [int(math.ceil(B / R * eta**s / (s + 1))) for s in brackets]
      R = [int(R * eta**-s) for s in brackets]
      return {b: (n, r) for b, n, r in zip(brackets, N, R)}
  
file_path: dask-ml/dask_ml/model_selection/_hyperband.py
imports: from __future__ import division
  import asyncio
  import logging
  import math
  from typing import Any, Callable, Dict, Iterable, List, Tuple, Union
  from warnings import warn
  import numpy
  from sklearn.utils import check_random_state
  from ._incremental import BaseIncrementalSearchCV
  from ._successive_halving import SuccessiveHalvingSearchCV
label_desc: Use image node_id 1 for calling a global function with example usage: _get_hyperband_params(R, eta) and returns: unknown