code: def _get_top_features(data, target_col, show_top=5):
      features = data.drop(columns=target_col)
      ordinal_encoded = features.apply(
          lambda x: x.astype("category").cat.codes
      )
      target = data[target_col]
      f = mutual_info_classif(
          ordinal_encoded,
          target,
          discrete_features=np.ones(data.shape[1], dtype=bool),
      )
      top_k = np.argsort(f)[-show_top:][::-1]
      return data.columns[top_k]
  
file_path: dabl/dabl/plot/sankey.py
imports: import matplotlib
  from collections import defaultdict
  import matplotlib.pyplot
  from matplotlib.path import Path
  import matplotlib.patches
  from itertools import cycle
  from sklearn.feature_selection import mutual_info_classif
  import numpy
  from copy import deepcopy
  from ..preprocessing import detect_types
  from .utils import _prune_categories
label_desc: Use image node_id 1 for calling a global function with example usage: _get_top_features(data, target_col, show_top) and returns: data