ConfusionMatrix

혼동 행렬 계산. 이 메서드는 예측값의 벡터에 적용됩니다.

행렬 벡터::ConfusionMatrix(
   const vector&       vect_true      // 참인 값의 벡터
   );
 
 
행렬 벡터::ConfusionMatrix(
   const vector&       vect_true,     // 참인 값들의 벡터
   uint                label          // 레이블 값
   );

매개 변수

vect_true

[in] 참인 값들의 벡터.

label

[in] 혼동 행렬 계산을 위한 레이블 값.

반환값

혼동 행렬 레이블 값이 지정되지 않은 경우 다중 클래스 혼동 행렬이 반환되며 여기서 각 레이블은 개별적으로 서로 일치합니다. 레이블 값이 지정되면 지정된 레이블은 양수로 간주되고 다른 모든 레이블은 음수(ovr, 1 대 나머지)로 간주되는 2 x 2 행렬이 반환됩니다.

참조

혼동 행렬 C는 Cij가 그룹 i에 속하고 그룹 j에 속할 것으로 예측되는 관측치 수와 동일하도록 구성됩니다. 따라서 이진 분류에서 참음성(TN)의 개수는 C00, 위음성(FN)은 C10, 참양성(TP)은 C11, 위양성(FP)은 C01입니다.

즉, 행렬은 다음과 같이 그래픽으로 표현될 수 있습니다:

TN

FP

FN

TP

참값 벡터와 예측값 벡터의 크기는 동일해야 합니다.

예:

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