ConfusionMatrixMultilabel

计算每个标签的混淆矩阵。该方法应用于预测值向量。

uint vector::ConfusionMatrixMultiLabel(
   const vector&       vect_true,     // 真值向量
   matrix&             confusions[]   // 计算混淆矩阵的数组 
   );
 

参数

vect_true

[in] 真值向量。

confusions

[out] 一个2 × 2矩阵数组,为每个标签计算混淆矩阵。

返回值

计算的混淆矩阵数组的大小。如果失败,则返回0

注意

结果数组可以是动态也可以是静态。如果是静态数组,那么其大小必须不小于类的数量。

真实值向量和预测值向量的大小应该相同。

示例:

   vector y_true={7,2,1,0,4,1,4,9,5,9,0,6,9,0,1,5,9,7,3,4,8,4,2,7,6,8,4,2,3,6};
   vector y_pred={7,2,1,0,4,1,4,9,5,9,0,6,9,0,1,5,9,7,3,4,2,9,4,9,5,9,2,7,7,0};
   matrix label_confusions[12];
 
   uint   res=y_pred.ConfusionMatrixMultiLabel(y_true,label_confusions);
   Print("res=",res,"  size=",label_confusions.Size());
   for(uint i=0i<resi++)
      Print(label_confusions[i]);
 
 
/*
  res=10  size=12
  [[26,1]
   [0,3]]
  [[27,0]
   [0,3]]
  [[25,2]
   [2,1]]
  [[28,0]
   [1,1]]
  [[24,1]
   [2,3]]
  [[27,1]
   [0,2]]
  [[27,0]
   [2,1]]
  [[25,2]
   [1,2]]
  [[28,0]
   [2,0]]
  [[23,3]
   [0,4]]
*/