Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中混淆矩阵的最小值和最大值_Matlab_Max_Min_Confusion Matrix - Fatal编程技术网

Matlab中混淆矩阵的最小值和最大值

Matlab中混淆矩阵的最小值和最大值,matlab,max,min,confusion-matrix,Matlab,Max,Min,Confusion Matrix,在Matlab中,我有一个由100个混淆矩阵组成的单元 例如confusionMatrix{1}= 16 1 0 0 12 2 0 10 9 如何从这两个混淆矩阵中找出预测率最佳和最差(非对角元素之和)的两个混淆矩阵?您可以通过对矩阵及其转置使用向上移位的triu来区分矩阵a的非对角元素:triu(a,1)和triu(a',1): 如果要对confusionMatrix{:}中的所有单元格执行此操作,可以使用cellfun,然后排序: predi

在Matlab中,我有一个由100个混淆矩阵组成的单元

例如
confusionMatrix{1}=

16     1     0
 0    12     2
 0    10     9

如何从这两个混淆矩阵中找出预测率最佳和最差(非对角元素之和)的两个混淆矩阵?

您可以通过对矩阵及其转置使用向上移位的triu来区分矩阵a的非对角元素: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);
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);