class_docstr: FIGSExt (sum of trees) classifier.
  Fast Interpretable Greedy-Tree Sums (FIGS) is an algorithm for fitting concise rule-based models.
  Specifically, FIGS generalizes CART to simultaneously grow a flexible number of trees in a summation.
  The total number of splits across all the trees can be restricted by a pre-specified threshold, keeping the model interpretable.
  Experiments across a wide array of real-world datasets show that FIGS achieves state-of-the-art prediction performance when restricted to just a few splits (e.g. less than 20).
  https://arxiv.org/abs/2201.11931
docstr: Extract predictions for all trees
          
code: def _extract_tree_predictions(self, X):
      """Extract predictions for all trees"""
      X_feats = np.zeros((X.shape[0], len(self.trees_)))
      for tree_num_ in range(len(self.trees_)):
          preds_tree = self._predict_tree(self.trees_[tree_num_], X)
          X_feats[:, tree_num_] = preds_tree
      return X_feats
  
imports: from copy import deepcopy
  import numpy
  from matplotlib import pyplot
  from sklearn import datasets
  from sklearn import tree
  from sklearn.base import BaseEstimator
  from sklearn.linear_model import RidgeCV, RidgeClassifierCV
  from sklearn.model_selection import train_test_split
  from sklearn.tree import plot_tree
  from sklearn.utils import check_X_y
  from imodels.tree.viz_utils import extract_sklearn_tree_from_figs
label_desc: Use image node_id 11 for calling the FIGSExt obj's underlying member method code with example usage: obj._extract_tree_predictions(X) and returns: X_feats