2015-05-12 64 views
0

我有用於精密和召回三個值如下:如何在Matlab中繪製Precision和Recall圖形?

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

值顯示時的精度是0.4召回0.45,反之亦然,我要繪製這些結果以曲線圖,其應該顯示在增加和減少精度和召回值相對於彼此。

我想在單個圖中顯示這些值的結果,該圖應該爲不同的表示顯示具有不同顏色的3條曲線(線)。

+2

你應該提供一個示例圖以說明你所瞄準的結果;我不知道如何根據3個離散點繪製3條線。 –

+1

你確定你不只是想要連接這些點的1行嗎?您沒有足夠的3行信息... – Dan

+0

@ m.s。實際上這些是從三個不同的實驗中獲得的三個值,每個實驗結果在1個精度和召回值中,我想在單個圖中繪製曲線,以便我可以比較它們。 –

回答

1

我主要是在猜測你試圖達成的目標是誠實的,但可能你所要尋找的是「全部」命令。如果這不是您想要達到的目標,請提供一個示例,說明您正在繪製一條曲線,以便我們可以推動您如何在此基礎上展開正確的方向。

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)) 
+0

實際上,我試圖比較這3對值的曲線,這就是爲什麼我要用不同的顏色分別繪製它們,謝謝你的回答,但我得到的錯誤'未定義的函數'calculate_my_results'輸入參數的類型'雙' '並沒有輸出顯示,再次感謝 –

0

要查看召回是如何變化的精確度的功能,你可以暗算對方的一個變量。正如其他評論者所指出的那樣,它只會產生一行,但它會告訴你兩者之間的關係。

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

如果確實要三條線,michael_0815的答案就是你想要的。

+0

謝謝你的回答,但我沒有得到任何結果顯示 –