code: def regression_metrics(self, y_test, model_predict):
      # #Explained variance regression score
      exp_variance_score = explained_variance_score(
          y_test, model_predict
      )
  
      # max_error metric calculates the maximum residual error.
      maxerror = max_error(y_test, model_predict)
  
      # Mean absolute error regression loss
      mae = mean_absolute_error(y_test, model_predict)
  
      # Mean squared error regression loss
      mse = mean_squared_error(y_test, model_predict)
  
      # RMSE
      rmse = sqrt(mse)
  
      # R^2 (coefficient of determination) regression score function.
      r2 = r2_score(y_test, model_predict)
  
      def mean_absolute_percentage_error(y_true, y_pred):
          y_true, y_pred = np.array(y_true), np.array(y_pred)
          return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
  
      mape = mean_absolute_percentage_error(y_test, model_predict)
  
      # Make DataFrames
      metric = [
          "Explained Variance Score",
          "Max Error",
          "R squared",
          "MAE",
          "MSE",
          "RMSE",
          "MAPE",
      ]
      values = [exp_variance_score, maxerror, r2, mae, mse, rmse, mape]
      metrics_dataframe = pd.DataFrame(
          {"metric": metric, "values": values}
      )
      metrics_dataframe.set_index("metric", inplace=True)
  
      return metrics_dataframe
  
label_desc: Use image node_id 3 for calling the calculate_metrics obj's underlying member method code with example usage: obj.regression_metrics(y_test, model_predict) and returns: metrics_dataframe, unknown