docstr: Find the next best hyperparams using previous trials, that is the
  whole :class:`neuraxle.metaopt.data.aggregate.Round`.
  
  :param round: a :class:`neuraxle.metaopt.data.aggregate.Round`
  :return: next hyperparameter samples to train on
docstr_tok: ["Find","the","next","best","hyperparams","using","previous","trials",",","that","is","the","whole",":","class",":","`","neuraxle.metaopt.data.aggregate.Round","`",".",":","param","round",":","a",":","class",":","`","neuraxle.metaopt.data.aggregate.Round","`",":","return",":","next","hyperparameter","samples","to","train","on"]
code: def find_next_best_hyperparams(
      self, _round: RoundReport, hp_space: HyperparameterSpace
  ) -> HyperparameterSamples:
      """
      Find the next best hyperparams using previous trials, that is the
      whole :class:`neuraxle.metaopt.data.aggregate.Round`.
  
      :param round: a :class:`neuraxle.metaopt.data.aggregate.Round`
      :return: next hyperparameter samples to train on
      """
      raise NotImplementedError()
  
imports: import copy
  import itertools
  import math
  import operator
  import random
  import warnings
  from abc import ABC, abstractmethod
  from collections import OrderedDict
  from functools import reduce
  from typing import Any, List, Set, Tuple
  from neuraxle.hyperparams.distributions import ContinuousHyperparameterDistribution, DiscreteHyperparameterDistribution
  from neuraxle.hyperparams.space import FlatDict, HyperparameterSamples, HyperparameterSpace
  from neuraxle.metaopt.data.reporting import RoundReport
label_desc: Use image node_id 1 for calling the BaseHyperparameterOptimizer obj's underlying member method code with example usage: obj.find_next_best_hyperparams(_round, hp_space) without return types