code: def validate_string_param(s, valid, param_name="param"):
      """
      Raises a well formatted exception if s is not in valid, otherwise does not
      raise an exception. Uses ``param_name`` to identify the parameter.
      """
      if s.lower() not in valid:
          raise YellowbrickValueError(
              "unknown {} '{}', chose from '{}'".format(
                  param_name, s, ", ".join(valid)
              )
          )
  
imports: import numpy
  import matplotlib.pyplot
  from matplotlib.patches import Circle
  from sklearn.manifold import MDS, TSNE
  from yellowbrick.utils.timer import Timer
  from yellowbrick.utils.decorators import memoized
  from yellowbrick.exceptions import YellowbrickValueError
  from yellowbrick.cluster.base import ClusteringScoreVisualizer
  from yellowbrick.utils.helpers import prop_to_size, check_fitted
label_desc: Use image node_id 2 for calling a global function with example usage: validate_string_param(s, valid, param_name) without return types