ConfusionMatrix

Calcola la matrice della confusione. Il metodo viene applicato al vettore dei valori previsti.

matrix vector::ConfusionMatrix(
   const vector&       vect_true      // vettore di valori reali
   );
 
 
matrix vector::ConfusionMatrix(
   const vector&       vect_true,     // vettore di valori reali
   uint                label          // valore dell'etichetta
   );

Parametri

vect_true

[in] Vettore di valori reali.

label

[in] Valore dell'etichetta per il calcolo della matrice di confusione.

Valore Restituito

Matrice di confusione. Se il valore dell'etichetta non è specificato, viene restituita una matrice di confusione multi-classe, dove ogni etichetta è abbinata l'una all'altra singolarmente. Se viene specificato un valore di etichetta, viene restituita una matrice 2 x 2, in cui l'etichetta specificata viene considerata positiva, mentre tutte le altre etichette sono negative (ovr, one vs rest).

Nota

La matrice di confusione C è tale che Cij è uguale al numero di osservazioni note nel gruppo i e che si prevede siano nel gruppo j. Così, nella classificazione binaria, il conteggio dei veri negativi (TN) è C00, falsi negativi (FN) è C10, veri positivi (TP) è C11 e falsi positivi (FP) è C01.

In altre parole, la matrice può essere rappresentata graficamente così:

TN

FP

FN

TP

Le dimensioni del vettore dei valori reali e del vettore dei valori previsti dovrebbero essere le stesse.

Esempio:

   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]]
*/