【问题标题】:how to plot graph of Precision and Recall in Matlab?如何在 Matlab 中绘制精度和召回率图?
【发布时间】:2015-07-22 21:27:16
【问题描述】:

我有以下三个精度和召回值:

precision = 0.4     recall= 0.45
precision= 0.58     recall= 0.52
precision= 0.6      recall= 0.53

以上值显示,当精度为 0.4 时,召回率为 0.45,反之亦然,我想将这些结果绘制在图表中,该图表应显示精度和召回值相对于彼此的增加和减少。

我想在单个图表中显示这些值的结果,该图表应显示 3 条具有不同颜色的曲线(线)以用于不同的表示。

【问题讨论】:

  • 您应该提供一个示例图来说明您的目标;我不知道你将如何根据 3 个离散点绘制 3 条线。
  • 你确定你不只是想要 1 条线连接这些点吗?您没有足够的信息 3 行...
  • @m.s.实际上,这三个值是从三个不同的实验中获得的,每个实验的结果是 1 个精度和召回值,我想在一个图中绘制曲线以便我可以比较它们。

标签: matlab graph plot precision-recall


【解决方案1】:

要查看召回率如何随精度变化,您可以将一个变量与另一个变量进行对比。正如其他评论者所指出的那样,它只会产生一行,但它会向您展示两者之间的关系。

recall = [0.45 0.52 0.53];
precision = [0.4 0.58 0.6];
plot(recall, precision)
xlabel('Recall'); ylabel('Precision');

如果您确实想要三行,那么 michael_0815 的答案就是您想要的。

【讨论】:

  • 感谢您的回答,但我没有得到任何结果显示
【解决方案2】:

老实说,我主要是在猜测您想要实现的目标,但可能您正在寻找的只是“保留所有”命令。如果这不是您想要实现的目标,请提供一个您正在绘制单条曲线的示例,以便我们可以推动您朝着正确的方向扩展。

figure
hold all
plot(calculate_my_results(0.4,0.45))
plot(calculate_my_results(0.58,0.52))
plot(calculate_my_results(0.6,0.53))

【讨论】:

  • 实际上我正在尝试比较这 3 对值的曲线,这就是为什么我想用不同的颜色分别绘制它们,感谢您的回答,但我收到错误 Undefined function 'calculate_my_results' for input arguments of type 'double' 并且没有输出已显示,再次感谢
猜你喜欢
  • 2018-09-14
  • 2021-05-05
  • 2019-09-29
  • 2023-04-07
  • 2014-11-20
  • 2019-11-20
  • 2018-02-18
  • 2018-08-16
  • 2011-08-18
相关资源
最近更新 更多