복붙노트

[PYTHON] 혼란 행렬에 대해 다중 레이블 표시기가 지원되지 않습니다.

PYTHON

혼란 행렬에 대해 다중 레이블 표시기가 지원되지 않습니다.

멀티 라벨 표시가 지원되지 않습니다. 실행하려고 할 때 나타나는 오류 메시지는 다음과 같습니다.

혼란 _ 매트릭스 (y_test, 예언)

y_test는 모양이있는 DataFrame입니다.

Horse | Dog | Cat
1       0     0
0       1     0
0       1     0
...     ...   ...

예측은 배열 수가 적습니다.

[[1, 0, 0],
 [0, 1, 0],
 [0, 1, 0]]

오류 메시지를 조금 검색했지만 적용 할 수있는 것을 찾지 못했습니다. 어떤 힌트?

해결법

  1. ==============================

    1.아니요, confusion_matrix에 대한 입력은 OHE가 아니라 예측 목록이어야합니다 (하나의 핫 인코딩). y_test와 y_pred에서 argmax를 호출하면 예상 한 것을 얻어야한다.

    아니요, confusion_matrix에 대한 입력은 OHE가 아니라 예측 목록이어야합니다 (하나의 핫 인코딩). y_test와 y_pred에서 argmax를 호출하면 예상 한 것을 얻어야한다.

    confusion_matrix(
        y_test.values.argmax(axis=1), predictions.argmax(axis=1))
    
    array([[1, 0],
           [0, 2]])
    
  2. ==============================

    2.혼란 행렬은 레이블의 벡터를 취합니다 (one-hot 인코딩이 아닙니다). 실행해야합니다.

    혼란 행렬은 레이블의 벡터를 취합니다 (one-hot 인코딩이 아닙니다). 실행해야합니다.

    confusion_matrix(y_test.values.argmax(axis=1), predictions.argmax(axis=1))
    
  3. from https://stackoverflow.com/questions/46953967/multilabel-indicator-is-not-supported-for-confusion-matrix by cc-by-sa and MIT license