在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);