class_docstr: Generator on parameters sampled from given distributions.
  If all parameters are presented as a list, sampling without replacement is
  performed. If at least one parameter is given as a scipy distribution,
  sampling with replacement is used. If all parameters are given as hyperopt
  distributions Tree of Parzen Estimators searching from hyperopt is computed.
  It is highly recommended to use continuous distributions for continuous
  parameters.
  
  Parameters
  ----------
  param_distributions : dict
      Dictionary with parameters names (`str`) as keys and distributions
      or lists of parameters to try. Distributions must provide a ``rvs``
      method for random sampling (such as those from scipy.stats.distributions)
      or be hyperopt distributions for bayesian searching.
      If a list is given, it is sampled uniformly.
  
  n_iter : integer, default=None
      Number of parameter configurations that are produced.
  
  random_state : int, default=None
      Pass an int for reproducible output across multiple
      function calls.
  
  Returns
  -------
  param_combi : list of dicts or dict of hyperopt distributions
      Parameter combinations.
  
  searching_type : str
      The searching algorithm used.
class_docstr_tok: ["Generator","on","parameters","sampled","from","given","distributions",".","If","all","parameters","are","presented","as","a","list",",","sampling","without","replacement","is","performed",".","If","at","least","one","parameter","is","given","as","a","scipy","distribution",",","sampling","with","replacement","is","used",".","If","all","parameters","are","given","as","hyperopt","distributions","Tree","of","Parzen","Estimators","searching","from","hyperopt","is","computed",".","It","is","highly","recommended","to","use","continuous","distributions","for","continuous","parameters",".","Parameters","--","--","--","--","--","param_distributions",":","dict","Dictionary","with","parameters","names","(","`","str","`",")","as","keys","and","distributions","or","lists","of","parameters","to","try",".","Distributions","must","provide","a","``","rvs","``","method","for","random","sampling","(","such","as","those","from","scipy.stats.distributions",")","or","be","hyperopt","distributions","for","bayesian","searching",".","If","a","list","is","given",",","it","is","sampled","uniformly",".","n_iter",":","integer",",","default=None","Number","of","parameter","configurations","that","are","produced",".","random_state",":","int",",","default=None","Pass","an","int","for","reproducible","output","across","multiple","function","calls",".","Returns","--","--","--","-","param_combi",":","list","of","dicts","or","dict","of","hyperopt","distributions","Parameter","combinations",".","searching_type",":","str","The","searching","algorithm","used","."]
code: def __init__(
      self, param_distributions, n_iter=None, random_state=None
  ):
      self.n_iter = n_iter
      self.random_state = random_state
      self.param_distributions = param_distributions
  
file_path: shap-hypetune/shaphypetune/utils.py
imports: import random
  import numpy
  from itertools import product
  from shap import TreeExplainer
label_desc: Use image node_id 1 to create a new ParameterSampler object from inherited base classes: object with example: obj = ParameterSampler(param_distributions, n_iter, random_state)