2017-02-17 16 views
0

Matlabには100の混同行列のセルがあります。例えばMatlabの混乱行列の最小値と最大値

confusionMatrix{1} =

16  1  0 
0 12  2 
0 10  9 

どのように私は最高と最悪の予測率(非対角要素の和)を有するこれらのうち2つの混同行列を見つけるのですか?

答えて

1

あなたは行列とその転置の両方に対して最大変位triuを使用して、行列Aの非対角要素を識別することができる:triu(A、1)及びtriu(A」を、1):

sum(sum(triu(a,1)+triu(a',1)')) 

confusionMatrix {:}内のすべてのセルに対してそうしたい場合は、cellfunを使用してソートすることができます。

prediction_rate=cellfun(@(a) sum(sum(triu(a,1)+triu(a',1)')), confusionMatrix); 
[r,idx]=sort(prediction_rate); 
best_rate=r(end); 
best_rated=idx(end); 
worst_rate=r(1); 
worst_rated=idx(1);