我想确保绘制精确回忆曲线。我有以下数据: 召回= [0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] 精度= [1,1,0.8,0.7,0.80,0.65,0.60,0.72,0.60,0.73,0.75] interpolated_precision = [1,1,0.80,0.80,0.80,0.75,0.75,0.75,0.75,0.75,0.75] 并准备如下图所示的图表 precision-recall curve
我不确定它是否正确,因为我看到的数字有抖动。这里有一个例子: enter image description here 如果有人能确认天气不对,我会很高兴。
答案 0 :(得分:2)
您经常看到的锯齿状线条/锯齿图案更常见于更多数据点(请注意示例图中至少20个左右,而对于您的图像至少为10个),它们来自实际搜索结果。您没有说明数据点的来源。
P-R数字经常看起来像是锯齿状的原因是,每次召回的增加通常伴随着精确度的降低,至少是暂时的,因为可能会增加误报。在你的图中也是这种情况,然而,你的“逢低”看起来更小,你的精确度始终很高。
然而,由于您将向下移动绘制为对角线,因此在图中有两个明确的误差,即精度和插值精度的向下移位。
为了精确,任何向下移位都应该是垂直线。你不会从你所描述的点的简单x-y图中得到这个,例如:在excel中。这些垂直线条有助于“锯齿状”外观。
对于插值精度,图形将始终包含水平或垂直的垂直直线。内插精度的定义基本上要求(参见例如https://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-ranked-retrieval-results-1.html,以便在任何召回点正确定义内插精度)。
这里的关键是要意识到你所描述的数据不应该被绘制为独立的观察,而应该以特定的方式定义图的其余部分的P-R值。