我的算法有三个输入参数:
param1 in {0.1, 0.5, 1.0, 90, 95, +inf}
param2 in {10, 20, 30, 40, 60, 80, 100}
param3 in {0.01, 0.05, 0.10}
我对这些输入值的所有组合运行测试,从而产生不同的输出。输出值为两个:# of rejected samples
,# of non-rejected samples
。显然,总和给出了样本总数。
如何绘制所有这些以便直观地确认哪些参数产生最大# of non-rejected samples / total # of samples
分数?
我可以使用matplotlib
,但是当涉及多个参数时,我不知道如何继续。
答案 0 :(得分:1)
运气好的话,你会得到一个三维数组的结果。只要param1有合理数量的元素,我就会像这样使用imshow:
max_val = 2000
plot_shape=(3,3)
for n, img in enumerate(data_cube):
ax = subplot(plot_shape[0], plot_shape[1], n+1)
title('Results for Param3=%0.3f'%param3[n])
ax.set_xticks(range(len(params3)))
ax.set_xticklabels([str(x) for x in params3])
ax.set_yticks(range(len(params2)))
ax.set_yticklabels([str(x) for x in params2])
xlabel('param3')
ylabel('param2')
imshow(img, vmin=0, vmax=max_val)