code: def training_point_weights(self, instance_leaf_ids):
      weights = np.zeros(self.num_train)
      for i in range(self.n_estimators):
          # Get the PNNs for each tree (ones with the same leaf_id)
          PNNs_Leaf_Node = np.where(
              self.train_leaf_ids[:, i] == instance_leaf_ids[i]
          )[0]
          if (
              len(PNNs_Leaf_Node) > 0
          ):  # SML: added this to fix degenerate cases
              weights[PNNs_Leaf_Node] += 1.0 / len(PNNs_Leaf_Node)
      return weights
  
imports: import numpy
  import pandas
  from sklearn.model_selection import train_test_split
  from .._explainer import Explainer
  import numpy
  from sklearn.ensemble import GradientBoostingRegressor, RandomForestRegressor
  from sklearn.linear_model import Ridge
  from sklearn.metrics import mean_squared_error
label_desc: Use image node_id 2 for calling the MAPLE obj's underlying member method code with example usage: obj.training_point_weights(instance_leaf_ids) and returns: weights