ConfusionMatrix

Calcula a matriz de erros. O método é aplicado a um vetor de valores previstos.

matrix vector::ConfusionMatrix(
  const vector&       vect_true,     // vetor de valores reais
   );
 
 
matrix vector::ConfusionMatrix(
  const vector&       vect_true,     // vetor de valores reais
   uint                label          // valor do rótulo
   );

Parâmetros

vect_true

[in] Vetor de valores reais.

épocas

[in] Valor do rótulo para o cálculo da matriz de erros.

Valor retornado

Matriz de erros. Se o valor da rótulo não for especificado, será retornada uma matriz de erro multiclasse, em que cada rótulo é comparado com cada outro rótulo individualmente. Se um valor de rótulo for especificado, será retornada uma matriz 2 x 2, em que o rótulo especificado é considerado positivo, e todos os outros rótulos são negativos (ovr, one vs rest).

Observação

A matriz de erro C é tal que Cij é igual ao número de observações que estão no grupo i e que também se prevê que estejam no grupo j. Assim, na classificação binária, o número de verdadeiros negativos (TN) é C00, o de falsos negativos (FN) é C10, o de verdadeiros positivos (TP) é C11 e o de falsos positivos (FP) é C01.

Ou seja, essa matriz pode ser representada graficamente dessa forma:

TN

FP

FN

TP

Os tamanhos do vetor de valores reais e do vetor de valores previstos devem ser os mesmos.

Exemplo:

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