class_docstr: Tree-based GAM classifier.
  Uses cyclical boosting to fit a GAM with small trees.
  Simplified version of the explainable boosting machine described in https://github.com/interpretml/interpret
  Only works for binary classification.
  Fits a scalar bias to the mean.
code: def predict(self, X):
      if isinstance(self, RegressorMixin):
          return self.predict_proba(X)[:, 1]
      elif isinstance(self, ClassifierMixin):
          return np.argmax(self.predict_proba(X), axis=1)
  
imports: from copy import deepcopy
  import numpy
  import pandas
  from sklearn.base import BaseEstimator
  from sklearn.tree import DecisionTreeRegressor
  from sklearn.utils.validation import check_is_fitted
  from sklearn.utils import check_array
  from sklearn.utils.multiclass import check_classification_targets
  from sklearn.utils.validation import check_X_y
  from sklearn.utils.validation import _check_sample_weight
  from sklearn.model_selection import train_test_split
  from sklearn.metrics import accuracy_score, roc_auc_score
  from tqdm import tqdm
  import imodels
  from sklearn.base import RegressorMixin, ClassifierMixin
label_desc: Use image node_id 5 for calling the TreeGAMSimple obj's underlying member method code with example usage: obj.predict(X) and returns: self, np