code: def test_eval_terms_regression():
      data = synthetic_regression()
      X = data["full"]["X"]
      y = data["full"]["y"]
  
      clf = ExplainableBoostingRegressor()
      clf.fit(X, y)
  
      explanations = clf.eval_terms(X)
  
      scores = explanations.sum(axis=1) + clf.intercept_
      assert np.allclose(clf.predict(X), scores)
  
      # for RMSE with identity link, the scores are the predictions
      predictions = inv_link(scores, clf.link_, clf.link_param_)
      assert np.allclose(clf.predict(X), predictions)
  
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 25 for calling a global function with example usage: test_eval_terms_regression() without return types