def make_heatmaps(collection, tag, idx, cols):
"""Generate heatmaps from dictionaries."""
# Heatmaps containers
acc = list()
bacc = list()
f1 = list()
prec = list()
rcll = list()
for i, n in enumerate(sorted(collection.keys())):
# Empty Rows of the heatmap
n_acc = list()
n_bacc = list()
n_f1 = list()
n_prec = list()
n_rcll = list()
for j, d in enumerate(sorted(collection[n])): # fill columns
n_acc.append(collection[n][d]['acc'])
n_bacc.append(collection[n][d]['bacc'])
n_f1.append(collection[n][d]['f1'])
n_prec.append(collection[n][d]['prec'])
n_rcll.append(collection[n][d]['rcll'])
# Store filled rows
acc.append(n_acc)
bacc.append(n_bacc)
f1.append(n_f1)
prec.append(n_prec)
rcll.append(n_rcll)
# From lists of lists to numpy arrays
acc = pd.DataFrame(data=np.array(acc), index=idx, columns=cols)
bacc = pd.DataFrame(data=np.array(bacc), index=idx, columns=cols)
f1 = pd.DataFrame(data=np.array(f1), index=idx, columns=cols)
prec = pd.DataFrame(data=np.array(prec), index=idx, columns=cols)
rcll = pd.DataFrame(data=np.array(rcll), index=idx, columns=cols)
# Save heatmaps
save_heatmap(acc, 'Accuracy', tag)
save_heatmap(bacc, 'Balanced Accuracy', tag)
save_heatmap(f1, 'F1', tag)
save_heatmap(prec, 'Precision', tag)
save_heatmap(rcll, 'Recall', tag)
评论列表
文章目录