Testing 如何绘制三个参数的组合

Testing 如何绘制三个参数的组合,testing,parameters,plot,matplotlib,Testing,Parameters,Plot,Matplotlib,我的算法有三个输入参数: 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} 我对这些输入值的所有组合进行了测试,得到了不同的输出。输出值有两个:#被拒绝的样本,#未被拒绝的样本。很明显,总和就是样本总数 我如何绘制所有这些曲线,以直观地确认哪些参数产生了最大的未拒收样本数/样本总数分数 我可以使用matplotlib,但当涉及多

我的算法有三个输入参数:

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}
我对这些输入值的所有组合进行了测试,得到了不同的输出。输出值有两个:
#被拒绝的样本
#未被拒绝的样本
。很明显,总和就是样本总数

我如何绘制所有这些曲线,以直观地确认哪些参数产生了最大的未拒收样本数/样本总数分数


我可以使用
matplotlib
,但当涉及多个参数时,我不知道如何继续

如果运气好的话,你会得到一个三维数组的结果。只要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)

绘制多维数据始终是一项挑战。降维是一种常用的技术。另一个是将其可视化为数据立方体。谢谢你,卡尔。不过我不懂你的代码。什么是数据立方体?我的参数到哪里去了?我有上面提到的所有参数组合的不同样本的结果(值正好是显示的值)。data_cube是一个三维数组,包含每个参数组合的结果。第一个维度映射到param 1,第二个维度映射到param2,第三个维度映射到param3。我会添加一些标签,也许这会让事情变得更清楚。