2012-04-12 49 views
0

我有一個函數可以找到四個人的測試的正確和錯誤的結果。即在每次運行中,正確的有4個條目與錯誤相同。繪圖計數值

測試將執行10次。這應該從更正的答案中顯而易見。

我想以圖形方式表示1名學生的表現或進度。

希望我現在清楚。 例如:

run = 1  correct = 5  mistake=5 
. 
. 
. 
run = n  correct = 3  mistake=7 

我的問題是如何以圖形方式表示我的結果? 需要查看n次運行的正確和錯誤計數的圖形表示。

我試過圖和柱狀圖,但它們不是一個很好的代表性

在Matlab你可以建議請不親。

例如:10次:

corrects = 

[1x4 double] [1x4 double] [1x4 double] [1x4 double] [1x4 double] [1x4 double] [1x4 double] [1x4 double] [1x4 double] [1x4 double] 

我所做的: 圖(5); bar([errors {1};更正{1}]); these are the four values of 4 persons in the first test

,但我需要的是人1

10測試中,我嘗試:

bar([mistakes{test}(1) ; corrects{test}(1)]); 

weird! 這些都不是很好的演示

+0

請修正「如何繪製正確的錯誤結果」一詞,我不明白你想要做什麼。 – Richante 2012-04-12 18:03:56

+0

什麼是一個「好演示文稿」?請詳細描述你的問題(我的意思是一般問題)。這是什麼分析?你想說明什麼? – yuk 2012-04-13 15:58:02

+0

'cell2mat'將會有幫助,可以將所有內容都放入一個二維數組中(由測試人員編制索引)。然後,你可以抓取所有人1的測試,如'correct_mat(:,1)' – 2012-04-13 16:55:22

回答

0

我會計算每次運行的錯誤分類率。

比方說,你有矢量run = 1:n;correct = randi(11,1,n)-1;。然後mistake = 10 - correct;

分類錯誤率爲MCR = mistake./10;

您可以繪製的分佈的箱線圖:

boxplot(MCR) 

重要的事情將MCR分佈用不同的參數運行之間進行比較。所以你將有一組運行,你可以分開他們在boxplot

此外,你可以繪製真正的MCR值,而不是他們在boxplot上的分位數。看到我的問題如何做beeswarm plot

編輯

如果你正確的結果取決於一些成績您可以產生所謂的ROC(受試者工作特徵)曲線。在這一點上,我會提及你wiki article。檢查它是否是你想要的。

+0

你的意思是boxplot的(正確/總數)@yuk? – pac 2012-04-13 14:21:35

+0

我的意思是繪製錯誤/總數。但是你也可以做正確/總計。可以稱之爲負利率和正利率。 – yuk 2012-04-13 14:48:33

+0

嘗試boxplot它沒有爲我工作@yuk我加我的價值觀 – pac 2012-04-13 15:14:05

0

所以,比較正確VS錯全部n次運行:

correct = zeros(n, 1); 
wrong = zeros(n, 1); 
for run=1:n 
    [correct(run), wrong(run)] = your_function(); 
end 
bar([correct wrong]); 

因此,您爲陣列中的每次運行存儲正確/錯誤。正確的(1)將是第一次運行時的數字等。bar([correct wrong]);將爲每次運行顯示兩個欄 - 正確的藍色欄和錯誤的紅色欄。

+0

謝謝@ Richante.this會給所有的酒吧如何知道哪個是我們可以着色?這也是一次運行如何看到n次運行? – pac 2012-04-12 18:35:53

+0

看起來像我誤解了你的問題,我只是編輯我的文章。 – Richante 2012-04-12 18:37:21

+0

都是藍色@Richante – pac 2012-04-12 23:34:29