code: def insight_2_local_feature_impact(self, df, y_and_prob):
      top_positive_variables = []
      average_shap_values_positive = []
  
      top_negative_variables = []
      average_shap_values_negative = []
  
      for i in range(1, 4):
          top_positive_variables.append(df.iloc[-1 * (i)][0])
          average_shap_values_positive.append(df.iloc[-1 * (i)][1])
  
          top_negative_variables.append(df.iloc[i - 1][0])
          average_shap_values_negative.append(df.iloc[i - 1][1])
  
      sentences = []
      # sentences.append("Model Prediction : " + str(y_and_prob[0])+ ", Confidence Level : "+ str(y_and_prob[1]))
  
      sentences.append("Predicted Outcome: {}".format(y_and_prob[0]))
      sentences.append(
          "Model Confidence Level: {:.0%}".format(y_and_prob[1])
      )
  
      sentences.append(
          "\nThe top three variables influencing the model's prediction outcome are {} ({:.2%}), {} ({:.2%}), {} ({:.2%})".format(
              top_positive_variables[0],
              average_shap_values_positive[0],
              top_positive_variables[1],
              average_shap_values_positive[1],
              top_positive_variables[2],
              average_shap_values_positive[2],
          )
      )
  
      sentences.append(
          "\nThe top three variables influencing the model's prediction outcome are {} ({:.2%}), {} ({:.2%}), {} ({:.2%})".format(
              top_negative_variables[0],
              average_shap_values_negative[0],
              top_negative_variables[1],
              average_shap_values_negative[1],
              top_negative_variables[2],
              average_shap_values_negative[2],
          )
      )
  
      sentences.append("")
  
      return sentences
  
file_path: explainx/lib/insight_classification.py
imports: from imports import *
label_desc: Use image node_id 6 for calling the insight_classification obj's underlying member method code with example usage: obj.insight_2_local_feature_impact(df, y_and_prob) and returns: sentences