code: def test_init_explainer_base_init_cuml_model(handle, dtype, order):
      bg = np.arange(10).reshape(5, 2).astype(np.float32)
      y = np.arange(5).astype(np.float32)
      bg_df = cudf.DataFrame(bg)
  
      model = cuLR().fit(bg, y)
  
      if handle:
          handle = Handle()
      else:
          handle = None
  
      explainer = SHAPBase(
          model=model.predict,
          background=bg_df,
          order=order,
          link="identity",
          verbose=2,
          random_state=None,
          is_gpu_model=None,
          handle=handle,
          dtype=None,
          output_type=None,
      )
  
      assert explainer.ncols == 2
      assert explainer.nrows == 5
      assert np.all(cp.asnumpy(explainer.background) == bg)
      assert np.all(explainer.feature_names == bg_df.columns)
      assert explainer.is_gpu_model
  
      # check that we infer the order from the model (F for LinearRegression) if
      # it is not passed explicitly
      if order is None:
          assert explainer.order == "F"
      else:
          assert explainer.order == order
  
      # check that we keep the model's handle if one is not passed explicitly
      if handle is not None:
          assert explainer.handle == handle
      else:
          assert explainer.handle == model.handle
  
file_path: cuml/python/cuml/tests/explainer/test_explainer_base.py
imports: from cuml import LinearRegression
  from cuml.explainer.base import SHAPBase
  from pylibraft.common.handle import Handle
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 1 for calling a global function with example usage: test_init_explainer_base_init_cuml_model(handle, dtype, order) without return types