code: def __init__(
      self,
      quantile_threshold: float,
      number_good_trials_max_cap: int,
      use_linear_forgetting_weights: bool,
      number_recent_trials_at_full_weights: int,
  ):
      self.quantile_threshold: float = quantile_threshold
      self.number_good_trials_max_cap: int = number_good_trials_max_cap
      self.use_linear_forgetting_weights = use_linear_forgetting_weights
      self.number_recent_trials_at_full_weights = (
          number_recent_trials_at_full_weights
      )
  
imports: from collections import Counter
  from operator import itemgetter
  from typing import Any, List, Tuple, Union
  import numpy
  from neuraxle.hyperparams.distributions import Choice, DiscreteHyperparameterDistribution, DistributionMixture, HPSampledValue, HyperparameterDistribution, LogSpaceDistributionMixin, PriorityChoice, Quantized
  from neuraxle.hyperparams.space import HyperparameterSamples, HyperparameterSpace
  from neuraxle.metaopt.data.reporting import RoundReport, TrialReport
  from neuraxle.metaopt.optimizer import BaseHyperparameterOptimizer, GridExplorationSampler
label_desc: Use image node_id 1 to create a new _DividedMixturesFactory object  with example: obj = _DividedMixturesFactory(quantile_threshold, number_good_trials_max_cap, use_linear_forgetting_weights, number_recent_trials_at_full_weights)