code: def test_permutation(exact_shap_regression_dataset):
      X_train, _, y_train, _ = exact_shap_regression_dataset
      # Train arbitrary model to get some coefficients
      mod = cuml.LinearRegression().fit(X_train, y_train)
      # Single background and foreground instance
      # Gives zero effect to features when they are 'off'
      # and the effect of the regression coefficient when they are 'on'
      X_background = np.zeros((1, X_train.shape[1]))
      X_foreground = np.ones((1, X_train.shape[1]))
      explainer = PermutationExplainer(
          model=mod.predict, data=X_background
      )
  
      shap_values = explainer.shap_values(
          X_foreground,
          npermutations=5,
      )
  
      assert np.allclose(mod.coef_, shap_values, rtol=1e-04, atol=1e-04)
  
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 5 for calling a global function with example usage: test_permutation(exact_shap_regression_dataset) without return types