code: def test_issue_8730(self):
      X = pd.DataFrame(
          zip(
              range(0, 100),
              range(200, 300),
              range(300, 400),
              range(400, 500),
          ),
          columns=["A", "B", "C", "D"],
      )
      y = np.array([*([0] * 50), *([1] * 50)])
      dm = xgb.DMatrix(X, label=y)
  
      params = {
          "eta": 0.16095019509249486,
          "min_child_weight": 1,
          "subsample": 0.688567929338029,
          "colsample_bynode": 0.7,
          "gamma": 5.666579817418348e-06,
          "lambda": 0.14943712232059794,
          "grow_policy": "depthwise",
          "max_depth": 3,
          "tree_method": "gpu_hist",
          "interaction_constraints": [
              ["A", "B"],
              ["B", "D", "C"],
              ["C", "D"],
          ],
          "objective": "count:poisson",
          "eval_metric": "poisson-nloglik",
          "verbosity": 0,
      }
  
      xgb.train(params, dm, num_boost_round=100)
  
file_path: xgboost/tests/python-gpu/test_gpu_interaction_constraints.py
imports: import sys
  import numpy
  import pandas
  import xgboost
  import test_interaction_constraints
label_desc: Use image node_id 3 for calling the TestGPUInteractionConstraints obj's underlying member method code with example usage: obj.test_issue_8730() without return types