else:
                #le.fit(data[column_names[feature[node]]])
                le_name_mapping = mapp[column_names[feature[node]]][0]
                #print(le_name_mapping)
                names=[k for k,v in le_name_mapping.items() if v >=threshold[node]]
                mask += "({} is in {}) \t ".format(column_names[feature[node]], names)
    # We insert the & at the right places
    mask = mask.replace("\t", "&", mask.count("\t") - 1)
    mask = mask.replace("\t", "")
    return mask

# COMMAND ----------

import numpy as np
# Leaves
leave_id = clf.apply(df_encoded)

paths ={}
for leaf in np.unique(leave_id):
    path_leaf = []
    find_path(0, path_leaf, leaf)
    paths[leaf] = np.unique(np.sort(path_leaf))

rules_columns = {}
for key in paths:
    rules_columns[key] = get_rule2(paths[key], df_encoded.columns)

# COMMAND ----------

rules[7575]