code: def copy_params(from_explainable: Any, to_explainable: Any):
      param_map = {
          varname: vv
          for varname, vv in from_explainable.__dict__.items()
          if isinstance(varname, str) and isinstance(vv, Param)
      }
  
      for varname, vv in param_map.items():
          setattr(to_explainable.__class__, varname, vv)
  
imports: from typing import Any, List, Union
  from pyspark.ml.param.shared import HasInputCol, HasOutputCol, Param
  from pyspark.sql import DataFrame, SparkSession, functions, types
  from pyspark.sql.window import Window
label_desc: Use image node_id 3 for calling the ExplainBuilder obj's underlying member method code with example usage: obj.copy_params(from_explainable, to_explainable) without return types