sklearn의 혼동 행렬
Nov 02 2020
이것을 보면 :
>>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
>>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
>>> confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"])
array([[2, 0, 0],
[0, 0, 1],
[1, 0, 2]])
배열의 첫 번째 행은 "예측 된 개미"를 의미하고 첫 번째 열은 "실제로 개미입니다"두 번째 열은 "실제로 새입니다"등을 의미한다고 가정합니다.
그래서 첫 번째 행 첫 번째 열 2는 "예측 된 개미, 개미입니다"라고 읽습니다. 첫 번째 행 두 번째 열은 "예측 된 개미는 새입니다"라고 읽는 것은 0이고 세 번째 열은 "예측 된 개미는 고양이입니다"는 0이지만 1이됩니다.
혼란 매트릭스를 이해하는 동안 내가 뭘 잘못하고 있는지.
또 다른 예는 이것입니다
>>> from sklearn.metrics import confusion_matrix
>>> y_true = [2, 0, 2, 2, 0, 1]
>>> y_pred = [0, 0, 2, 2, 0, 2]
>>> confusion_matrix(y_true, y_pred)
array([[2, 0, 0],
[0, 0, 1],
[1, 0, 2]])
명확하지 않은 곳, 수업 순서는 무엇입니까?
출처: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
편집 : 스왑되지 않는 한. 첫 번째 행은 "예측 된 개미"가 아닌 "개미"입니다. 위키 백과에서 시스템은 그 행이 예측입니다.
답변
2 ShahriyarMammadli Nov 02 2020 at 00:30
당신은 단지 실제와 예측을 혼동했습니다. 모든 행은 배열에있는 고유 한 요소의 실제 값을 나타내고 열은 예측 된 값을 나타냅니다. 그건,
- 첫 번째 행 : 개미 2 개가 있고 샘플 2 개가 개미 로 예측됩니다 .
- 두 번째 행 : 1 개의 새가 있고 1 개의 샘플이 고양이 로 예측됩니다 .
- 세 번째 행 : 3 개의 고양이 가 있고 , 1 개의 샘플이 개미 로 예측되고 , 2 개의 샘플이 고양이 로 예측됩니다 .