code: def test_multi_scoring(self):
      ridge_ppm = RidgeRegressorPPM()
      rf_transformers = []
      rf_ppms = []
      tree_random_states = []
      for tree_model in self.rf_model.estimators_:
          transformer = MDIPlusDefaultTransformer(tree_model)
          blocked_data = transformer.fit_transform(self.X)
          rf_transformers.append(transformer)
          ridge_ppm.fit(blocked_data.get_all_data(), self.y)
          rf_ppms.append(copy.deepcopy(ridge_ppm))
          tree_random_states.append(tree_model.random_state)
      scoring_fns = {"log_loss": log_loss, "roc_auc": roc_auc_score}
      gmdi = ForestMDIPlus(
          rf_ppms,
          rf_transformers,
          scoring_fns,
          tree_random_states=tree_random_states,
      )
      scores = gmdi.get_scores(self.X, self.y_bin)
      assert scores.shape[1] == 3
  
imports: import copy
  import numpy
  import random
  import scipy
  from sklearn.linear_model import Ridge, LinearRegression
  from sklearn.tree import DecisionTreeRegressor
  from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier
  from sklearn.metrics import r2_score, log_loss, roc_auc_score, mean_squared_error
  from imodels.importance.block_transformers import IdentityTransformer, TreeTransformer, CompositeTransformer, MDIPlusDefaultTransformer
  from imodels.importance.ppms import RidgeRegressorPPM, LogisticClassifierPPM, RobustRegressorPPM
  from imodels.importance.mdi_plus import TreeMDIPlus, ForestMDIPlus
  from imodels.importance.rf_plus import RandomForestPlusClassifier
label_desc: Use image node_id 5 for calling the TestMDIPlus obj's underlying member method code with example usage: obj.test_multi_scoring() without return types