def heat_map_reliability(data):
nb_runs = get_data_info(data)
nb_func = len(get_data_info(data, 'fnames'))
methods = get_data_info(data, 'methods')
mat = np.empty([nb_func, len(methods)])
for j, k in enumerate(data):
for i, f in enumerate(data[k]):
success = np.sum(
data[k][f]['success']) * 100 / nb_runs
if np.isnan(success):
success = 0
mat[i, j] = success
# mat.sort(axis=0)
fig = plt.figure()
ax1 = fig.add_axes([0.7, 0.1, 0.18, 0.8])
Y = fastcluster.linkage(mat, method='ward')
Z1 = sch.dendrogram(Y, orientation='right')
ax1.set_xticks([])
ax1.set_yticks([])
axmatrix = fig.add_axes([0.1, 0.1, 0.6, 0.8])
axmatrix.set_title(
'Success rate across test functions (reliability over 200 runs)')
im = axmatrix.matshow(
mat[Z1['leaves'], :], aspect='auto', origin='lower',
cmap=plt.cm.RdYlGn,
)
methods.insert(0, ' ')
axmatrix.set_xticklabels(methods)
# Reorder functions indexes:
c = np.arange(0, nb_func)[Z1['leaves']]
axmatrix.set_yticks(np.arange(0, nb_func, 10))
axmatrix.set_yticklabels(c)
axmatrix.set_ylabel('Test function number')
axcolor = fig.add_axes([0.9, 0.1, 0.02, 0.8])
plt.colorbar(im, cax=axcolor)
# fig.show()
fig.save('heatmap.pdf', bbox_inches='tight', format='pdf')
评论列表
文章目录