ConfusionMatrix

Calcule la matrice de confusion. La méthode est appliquée au vecteur de valeurs prédites.

matrix vector::ConfusionMatrix(
   const vector&       vect_true      // vecteur de valeurs vraies
   );
 
 
matrix vector::ConfusionMatrix(
   const vector&       vect_true,     // vecteur de valeurs vraies
   uint                label          // valeur de l'étiquette 
   );

Paramètres

vect_true

[in] Vecteur de valeurs vraies.

label

[in] Valeur d'étiquette pour calculer la matrice de confusion.

Valeur de Retour

Matrice de confusion. Si aucune valeur d'étiquette n'est spécifiée, une matrice de confusion multi-classes est renvoyée, dans laquelle chaque étiquette est mise en correspondance individuellement avec les autres étiquettes. Si une valeur d'étiquette est spécifiée, une matrice 2 x 2 est renvoyée, dans laquelle l'étiquette spécifiée est considérée comme positive, tandis que toutes les autres étiquettes sont négatives (ovr, 'one vs rest', soit 'un contre le reste').

Note

La matrice de confusion C est telle que Cij est égal au nombre d'observations connues pour appartenir au groupe i et prédites comme appartenant au groupe j. Ainsi, dans la classification binaire, le nombre de vrais négatifs (TN) est C00, les faux négatifs (FN) sont C10, les vrais positifs (TP) sont C11 et les faux positifs (FP) sont C01.

En d’autres termes, la matrice peut être représentée graphiquement comme suit :

TN

FP

FN

TP

Les tailles du vecteur des valeurs vraies et du vecteur des valeurs prédites doivent être les mêmes.

Exemple :

   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 confusion=y_pred.ConfusionMatrix(y_true);
   Print(confusion);
   confusion=y_pred.ConfusionMatrix(y_true,0);
   Print(confusion);
   confusion=y_pred.ConfusionMatrix(y_true,1);
   Print(confusion);
   confusion=y_pred.ConfusionMatrix(y_true,2);
   Print(confusion);
 
 
/*
  [[3,0,0,0,0,0,0,0,0,0]
   [0,3,0,0,0,0,0,0,0,0]
   [0,0,1,0,1,0,0,1,0,0]
   [0,0,0,1,0,0,0,1,0,0]
   [0,0,1,0,3,0,0,0,0,1]
   [0,0,0,0,0,2,0,0,0,0]
   [1,0,0,0,0,1,1,0,0,0]
   [0,0,0,0,0,0,0,2,0,1]
   [0,0,1,0,0,0,0,0,0,1]
   [0,0,0,0,0,0,0,0,0,4]]
  [[26,1]
   [0,3]]
  [[27,0]
   [0,3]]
  [[25,2]
   [2,1]]
*/