code: def get_training_data_distribution_balance_status(data_meta):
      sample_label_key = list(
          data_meta[constants.KEY_DATA_EXTEND_TRAIN].keys()
      )[0]
      dist = data_meta[constants.KEY_DATA_EXTEND_TRAIN][
          sample_label_key
      ][constants.KEY_DATA_DISTRIBUTION]
      labels = list(dist.keys())
      max_quan = max(list(dist.values()))
  
      normalized_values = [dist[x] / max_quan for x in labels]
  
      unbalanced_labelled = []
      balanced = True
      for idx, value in enumerate(normalized_values):
          if value < constants.RECOMMEND_UNBALANCED_BENCHMARK:
              unbalanced_labelled.append([labels[idx], value])
              balanced = False
          if value == 1:
              max_label = labels[idx]
  
      return balanced, max_label, unbalanced_labelled
  
file_path: contextual-ai/xai/recommendations/recommendation.py
imports: import xai.constants
  from sklearn.metrics.pairwise import cosine_similarity
  import math
label_desc: Use image node_id 4 for calling a global function with example usage: get_training_data_distribution_balance_status(data_meta) and returns: balanced,  max_label,  unbalanced_labelled