如何在海底线图上显示置信区间(误差带)

时间:2019-01-08 15:31:46

标签: python matplotlib continuous-integration seaborn

我正在尝试创建三个ML模型的分类精度图,具体取决于数据中使用的特征数量(使用的特征数量为1到75,根据特征选择方法排名)。我对每个模型和每个“使用的特征数量”进行了100次迭代以计算精度输出。以下是我的数据(clsf从0到2,时间点从1到75): https://jsfiddle.net/8b4xg3kt/

然后我按文档文件中所示调用seaborn函数。

sns.lineplot(x= "timepoint", y="acc", hue="clsf", data=ttest_df, ci= "sd", err_style = "band")

情节如下所示: data

我希望对x轴上的每个点都有一个置信区间,并且不知道为什么它不起作用。每个x值都有100个y值,所以我看不出为什么它不能计算/显示它。

1 个答案:

答案 0 :(得分:1)

您可以改用Seaborn的pointplot function来尝试数据集。它专门用于显示点散点图周围不确定性的指示。默认情况下,pointplot将用一行连接值。如果分类变量本质上是序数,这很好,但是对于标称数据,通过linestyles = ""删除行可能是一个好主意。 (我在示例中使用了join = False

我试图重新创建笔记本以提供视觉效果,但无法完全按照您的描述获得绘图中的置信区间。希望对您有帮助。

enter image description here

sb.set(style="darkgrid")
sb.pointplot(x = 'timepoint', y = 'acc', hue = 'clsf',
            data = ttest_df, ci = 'sd', palette = 'magma', 
            join = False);

enter image description here