code: def insight_2_local_feature_impact(df, y_and_prob):
      top_positive_variables = []
      average_shap_values_positive = []
  
      top_negative_variables = []
      average_shap_values_negative = []
  
      df_numpy = df.to_numpy()
      print("insights")
      print(df_numpy)
  
      for i in range(3):
          top_positive_variables.append(df_numpy[-1 * (i + 1)][0])
          average_shap_values_positive.append(df_numpy[-1 * (i + 1)][1])
  
          top_negative_variables.append(df_numpy[i][0])
          average_shap_values_negative.append(df_numpy[i][1])
  
      sentences = []
  
      sentences.append("Model Prediction : " + str(y_and_prob[0]))
  
      sentences.append(" ")
  
      # sentences.append("Top 3 Positive Impact Variables : " +
      #                  top_positive_variables[0] + ", " +
      #                  top_positive_variables[1] + ", " +
      #                  top_positive_variables[2] + " " )
  
      sentences.append(
          f"Top 3 Positive Impact Variables: {top_positive_variables[0]} (+{average_shap_values_positive[0]:.2f}), {top_positive_variables[1]} (+{average_shap_values_positive[1]:.2f}), {top_positive_variables[2]} (+{average_shap_values_positive[2]:.2f})"
      )
  
      sentences.append(
          f"Top 3 Negative Impact Variables: {top_negative_variables[0]} ({average_shap_values_negative[0]:.2f}), {top_negative_variables[1]} ({average_shap_values_negative[1]:.2f}), {top_negative_variables[2]} ({average_shap_values_negative[2]:.2f})"
      )
  
      # sentences.append("Top 3 Negative Impact Variables : " +
      #                  top_negative_variables[0] + ", " +
      #                  top_negative_variables[1] + ", " +
      #                  top_negative_variables[2] + " " )
  
      sentences.append("")
  
      return sentences
  
file_path: explainx/lib/modules/local_explanation/apps/insight_regression.py
imports: from imports import *
label_desc: Use image node_id 4 for calling the insight_regression obj's underlying member method code with example usage: obj.insight_2_local_feature_impact(df, y_and_prob) and returns: sentences