code: def test_different_parameters(
      dtype, n_features, n_background, model, npermutations
  ):
      cp.random.seed(42)
      X_train, X_test, y_train, y_test = create_synthetic_dataset(
          n_samples=n_background + 5,
          n_features=n_features,
          test_size=5,
          noise=0.1,
          dtype=dtype,
      )
  
      mod = model().fit(X_train, y_train)
  
      cu_explainer = PermutationExplainer(
          model=mod.predict, data=X_train, is_gpu_model=True
      )
  
      cu_shap_values = cu_explainer.shap_values(
          X_test, npermutations=npermutations
      )
  
      exp_v = float(cu_explainer.expected_value)
      fx = mod.predict(X_test)
      for i in range(5):
          assert (
              0.97
              <= (
                  abs(np.sum(cp.asnumpy(cu_shap_values[i])))
                  / abs(fx[i] - exp_v)
              )
              <= 1.03
          )
  
file_path: cuml/python/cuml/tests/explainer/test_explainer_permutation_shap.py
imports: from cuml.testing.utils import ClassEnumerator, get_shap_values, create_synthetic_dataset
  from cuml import PermutationExplainer
  import sklearn.neighbors
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
  import cuml
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 3 for calling a global function with example usage: test_different_parameters(dtype, n_features, n_background, model, npermutations) without return types