code: def test_ebm_tripple():
      data = iris_classification()
      X_train = data["train"]["X"]
      y_train = data["train"]["y"]
  
      X_test = data["test"]["X"]
  
      with warnings.catch_warnings():
          warnings.filterwarnings(
              "ignore",
              "Interactions with 3 or more terms are not graphed in global explanations.*",
          )
  
          # iris is multiclass, but for now pretend this is a regression problem
          clf = ExplainableBoostingRegressor(
              interactions=[(0, 1, 2), (0, 1, 3), (1, 2, 3), (0, 1)]
          )
          clf.fit(X_train, y_train)
          clf.predict(X_test)
          valid_ebm(clf)
  
imports: import math
  from sklearn.metrics import log_loss
  from interpret.utils import make_synthetic
  from ...tutils import synthetic_multiclass, synthetic_classification, iris_classification, smoke_test_explanations
  from ...tutils import synthetic_regression
  from interpret.glassbox import ExplainableBoostingRegressor, ExplainableBoostingClassifier
  from interpret.privacy import DPExplainableBoostingClassifier, DPExplainableBoostingRegressor
  from interpret.utils import inv_link
  from io import StringIO
  import json
  import numpy
  import pandas
  from sklearn.model_selection import train_test_split
  from sklearn.metrics import accuracy_score
  from sklearn.utils.estimator_checks import check_estimator
  import pytest
  import warnings
label_desc: Use image node_id 15 for calling a global function with example usage: test_ebm_tripple() without return types