code: def test_unknown_binary_category():
      X, y, names, types = make_synthetic(classes=2, objects=False)
  
      ebm = ExplainableBoostingClassifier(
          names, types, interactions=[[0, -1], [1, 2], [-1, 3]]
      )
      ebm.fit(X, y)
  
      orig = ebm.eval_terms(X[0])
  
      X[0, -1] = -9.9  # unseen categorical
      unseen = ebm.eval_terms(X[0])
  
      assert unseen[0, ebm.n_features_in_ - 1] == 0
      assert unseen[0, -3] == 0
      assert unseen[0, -1] == 0
  
      # overwrite the 3 values that should be zero with the orig scores
      unseen[0, ebm.n_features_in_ - 1] = orig[
          0, ebm.n_features_in_ - 1
      ]
      unseen[0, -3] = orig[0, -3]
      unseen[0, -1] = orig[0, -1]
  
      # everything else should be unchanged other than the zeroed values we overwrote
      assert np.array_equal(orig, unseen)
  
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 11 for calling a global function with example usage: test_unknown_binary_category() without return types