code: def test_binarize_1term():
      data = iris_classification()
      X_train = data["train"]["X"]
      y_train = data["train"]["y"]
      X_test = data["test"]["X"]
      y_test = data["test"]["y"]
  
      clf = ExplainableBoostingClassifier(interactions=0)
      clf.fit(X_train, y_train)
  
      # an EBM with only one term should remain identical if we use passthrough
      clf.remove_terms(range(1, len(clf.term_scores_)))
  
      # slightly unbalance the EBM so that it is not centered anymore through editing
      clf.term_scores_[0][1, 0] = 10
  
      original_pred = clf.predict_proba(X_test)
      clf._ovrize(1.0)
      assert np.allclose(original_pred, clf.predict_proba(X_test))
      clf._multinomialize(1.0)
      assert np.allclose(original_pred, clf.predict_proba(X_test))
  
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 3 for calling a global function with example usage: test_binarize_1term() without return types