← 문제 목록/혼동 행렬 (Confusion Matrix)

혼동 행렬 (Confusion Matrix)

평가 지표 · easy

preview

혼동 행렬 (Confusion Matrix)

정확도(14번) 가 분류 성능을 숫자 하나로 요약한다면, 혼동 행렬은 어떻게 틀리는지 를 드러냅니다. 클래스 불균형이나 특정 방향 오류(예: 스팸을 정상으로 오판 vs 반대)를 파악할 때 필수.

이진 분류의 경우:

pred = 0pred = 1
true = 0TNFP
true = 1FNTP

C[i, j] = 실제 클래스 ij 로 예측한 샘플 수. 대각선은 정답, 비대각선은 오답.

다중 클래스로 일반화: (K, K) 행렬.

과제

함수 confusion_matrix(y_pred, y_true, num_classes) 를 완성하세요.

  • 입력: 정수 배열 y_pred, y_true (같은 길이), 클래스 개수 K.
  • 반환: shape (K, K) 정수 배열, C[i, j] = count(true=i, pred=j).
  • 힌트: np.add.at(C, (y_true, y_pred), 1) 또는 np.bincount.

테스트 케이스

#이름검증
1완벽 예측대각 성분만 non-zero
2총합 = NC.sum() == len(y_true)
3shape(K, K)
4이진 분류 케이스알려진 y_pred, y_true에 대해 정확한 값
5sklearn 일치무작위 데이터에서 sklearn 결과와 동일
Loading...

코드를 작성하고 Run 을 눌러보세요.