gpt4 book ai didi

python - 如何使用 python 绘制 Friedman-Nemenyi 检验的结果

转载 作者:行者123 更新时间:2023-12-05 00:15:54 25 4
gpt4 key购买 nike

我计算了 12 个数据集和 11 个分类器的 Friedman-Nemenyi 检验结果,我想绘制如下图所示的结果
enter image description here

我计算了所有要求 CD 是单个数字(图中显示为 CD)、分类器列表(C4.5+m+cf、C4.5+m 等)和平均排名的值(在 x 轴上)

提前谢谢了

2 :enter link description here

最佳答案

为了重现上面的图,您可以将普通图的 3 个脊线设置为不可见,然后将相应的元素添加到图中。

enter image description here

import matplotlib.pyplot as plt

# input data
cd = 1.2
c = 3.2
ccf = 2.8
cmcf = 1.9
cm = 2.05

limits=(4,1)

fig, ax = plt.subplots(figsize=(5,1.8))
plt.subplots_adjust(left=0.2, right=0.8)

# set up plot
ax.set_xlim(limits)
ax.set_ylim(0,1)
ax.spines['top'].set_position(('axes', 0.6))
#ax.xaxis.tick_top()
ax.xaxis.set_ticks_position('top')
ax.yaxis.set_visible(False)
for pos in ["bottom", "left", "right"]:
ax.spines[pos].set_visible(False)

# CD bar
ax.plot([limits[0],limits[0]-cd], [.9,.9], color="k")
ax.plot([limits[0],limits[0]], [.9-0.03,.9+0.03], color="k")
ax.plot([limits[0]-cd,limits[0]-cd], [.9-0.03,.9+0.03], color="k")
ax.text(limits[0]-cd/2., 0.92, "CD", ha="center", va="bottom")

# annotations
bbox_props = dict(boxstyle="square,pad=0.3", fc="w", ec="k", lw=0.72)
arrowprops=dict(arrowstyle="-",connectionstyle="angle,angleA=0,angleB=90")
kw = dict(xycoords='data',textcoords="axes fraction",
arrowprops=arrowprops, bbox=bbox_props, va="center")
ax.annotate("C4.5", xy=(c, 0.6), xytext=(0,0.25),ha="right", **kw)
ax.annotate("C4.5+cf", xy=(ccf, 0.6), xytext=(0,0),ha="right", **kw)
ax.annotate("C4.5+m+cf", xy=(cmcf, 0.6), xytext=(1.,0.25),ha="left", **kw)
ax.annotate("C4.5+m", xy=(cm, 0.6), xytext=(1.,0),ha="left", **kw)

#bars
ax.plot([ccf,c],[0.55,0.55], color="k", lw=3)
ax.plot([ccf,cmcf],[0.48,0.48], color="k", lw=3)

plt.show()

关于python - 如何使用 python 绘制 Friedman-Nemenyi 检验的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43383144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com