code: def exp_interaction():
      """Creates interaction explanation object."""
      meta = deepcopy(DEFAULT_META_PDVARIANCE)
      data = deepcopy(DEFAULT_DATA_PDVARIANCE)
  
      meta["params"] = {
          "percentiles": (0.0, 1.0),
          "grid_resolution": 4,
          "feature_names": ["f_0", "f_1", "f_2", "f_3"],
          "categorical_names": {
              2: [0, 1, 2, 3, 4],
              3: [0, 1, 2, 3, 4, 5, 6],
          },
          "target_names": ["c_0", "c_1"],
          "method": "interaction",
      }
      data["feature_deciles"] = [
          [
              np.array(
                  [
                      -2.319,
                      -2.032,
                      -1.744,
                      -1.456,
                      -1.169,
                      -0.881,
                      -0.593,
                      -0.305,
                      -0.018,
                      0.269,
                      0.557,
                  ]
              ),
              np.array(
                  [
                      0.080,
                      0.217,
                      0.354,
                      0.491,
                      0.628,
                      0.765,
                      0.902,
                      1.039,
                      1.175,
                      1.312,
                      1.449,
                  ]
              ),
          ],
          [
              np.array(
                  [
                      0.080,
                      0.217,
                      0.354,
                      0.491,
                      0.628,
                      0.765,
                      0.902,
                      1.039,
                      1.175,
                      1.312,
                      1.449,
                  ]
              ),
              None,
          ],
          [None, None],
      ]
      data["pd_values"] = [
          np.array(
              [
                  [[-157.035, -39.254], [46.342, 164.122]],
                  [[-204.567, -158.093], [52.533, 99.006]],
                  [[-82.799, -81.085], [20.010, 21.725]],
              ]
          ),
          np.array(
              [
                  [[-55.346, -55.346], [62.434, 62.434]],
                  [[-76.017, -51.231], [-12.543, -29.543]],
                  [[-31.394, -67.631], [-29.679, -4.852]],
              ]
          ),
          np.array(
              [
                  [[3.543, 5.143], [6.123, 12.755]],
                  [[-52.214, -1.523], [-27.732, -43.564]],
                  [[-13.537, -35.537], [-5.123, -30.537]],
              ]
          ),
      ]
      data["feature_values"] = [
          [np.array([-2.319, 0.557]), np.array([0.080, 1.449])],
          [np.array([0.080, 1.449]), np.array([1.0, 4.0])],
          [np.array([1.0, 4.0]), np.array([0.0, 4.0])],
      ]
      data["feature_names"] = [
          ("f_0", "f_1"),
          ("f_1", "f_2"),
          ("f_2", "f_3"),
      ]
      data["feature_importance"] = None
      data["feature_interaction"] = np.array(
          [[1.0, 3.0, 2.0], [5.0, 1.0, 4.0], [1.0, 3.0, 2.0]]
      )
      data["conditional_importance"] = [
          [np.array([1.0, 5.0, 4.0]), np.array([2.0, 3.0, 1.0])],
          [np.array([7.0, 2.0, 1.0]), np.array([3.0, 2.0, 1.0])],
          [np.array([6.0, 3.0, 3.0]), np.array([4.0, 1.0, 5.0])],
      ]
      data["conditional_importance_values"] = [
          [
              np.array(
                  [[43.879, 24.657], [91.827, 32.861], [29.467, 1.212]]
              ),
              np.array(
                  [
                      [59.551, 143.809],
                      [181.797, 29.227],
                      [91.411, 72.698],
                  ]
              ),
          ],
          [
              np.array(
                  [[72.121, 32.357], [21.731, 13.441], [53.137, 89.321]]
              ),
              np.array(
                  [[83.283, 70.373], [32.861, 34.186], [29.601, 30.791]]
              ),
          ],
          [
              np.array(
                  [[19.919, 10.809], [14.462, 50.703], [70.373, 35.073]]
              ),
              np.array(
                  [[65.962, 18.605], [11.311, 14.507], [21.231, 24.657]]
              ),
          ],
      ]
      return Explanation(meta=meta, data=data)
  
imports: import re
  from copy import deepcopy
  import matplotlib.pyplot
  import numpy
  import pandas
  import pytest
  from pytest_lazyfixture import lazy_fixture
  from sklearn.ensemble import GradientBoostingRegressor
  from sklearn.linear_model import LinearRegression
  from alibi.api.defaults import DEFAULT_DATA_PDVARIANCE, DEFAULT_META_PDVARIANCE
  from alibi.api.interfaces import Explanation
  from alibi.explainers import PartialDependence, PartialDependenceVariance, TreePartialDependence
  from alibi.explainers.pd_variance import _plot_feature_importance, _plot_feature_interaction, _plot_hbar, plot_pd_variance
label_desc: Use image node_id 16 for calling a global function with example usage: exp_interaction() and returns: Explanation