class_docstr: Random Search with a repeat option.
  
  Trials parameter configurations are uniformly sampled from their parameter
  ranges. The repeat option allows to re-run a trial `repeat` number of times.
  By default this is 1.
  
  Args:
      max_num_trials (int): number of trials, otherwise runs indefinitely.
      repeat (int): number of times to repeat a parameter configuration.
class_docstr_tok: ["Random","Search","with","a","repeat","option",".","Trials","parameter","configurations","are","uniformly","sampled","from","their","parameter","ranges",".","The","repeat","option","allows","to","re-run","a","trial","`","repeat","`","number","of","times",".","By","default","this","is","1",".","Args",":","max_num_trials","(","int",")",":","number","of","trials",",","otherwise","runs","indefinitely",".","repeat","(","int",")",":","number","of","times","to","repeat","a","parameter","configuration","."]
code: def __init__(self, max_num_trials=None):
      self.max_num_trials = (
          max_num_trials or 2**32
      )  # total number of configs to be sampled
      self.count = 0
  
imports: import os
  import random
  import numpy
  import logging
  import sherpa
  import pandas
  import sklearn.gaussian_process
  from sherpa.core import Choice, Continuous, Discrete, Ordinal, AlgorithmState
  from sherpa.core import rng
  import sklearn.model_selection
  import collections
label_desc: Use image node_id 1 to create a new RandomSearch object from inherited base classes: Algorithm with example: obj = RandomSearch(max_num_trials)