MATLAB中的最小混乱矩阵



在matlab i中,有100个混淆矩阵的单元格。

例如confusionMatrix{1} =

16     1     0
 0    12     2
 0    10     9

我如何找到具有最佳和最差预测率(非对抗元素的总和)的两个混乱矩阵?

您可以通过使用triu将矩阵及其trapose的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);

最新更新