confusionmat
분류 문제에 대한 혼동행렬 계산
구문
설명
예제
혼동행렬 계산하기
분류 문제에 대한 예측 레이블과 실제 레이블의 샘플을 불러옵니다. trueLabels
는 영상 분류 문제에 대한 실제 레이블이고 predictedLabels
는 컨벌루션 신경망의 예측입니다.
load('Cifar10Labels.mat','trueLabels','predictedLabels');
숫자형 혼동행렬을 계산합니다. order
는 혼동행렬의 클래스 순서입니다.
[m,order] = confusionmat(trueLabels,predictedLabels)
m = 10×10
923 4 21 8 4 1 5 5 23 6
5 972 2 0 0 0 0 1 5 15
26 2 892 30 13 8 17 5 4 3
12 4 32 826 24 48 30 12 5 7
5 1 28 24 898 13 14 14 2 1
7 2 28 111 18 801 13 17 0 3
5 0 16 27 3 4 943 1 1 0
9 1 14 13 22 17 3 915 2 4
37 10 4 4 0 1 2 1 931 10
20 39 3 3 0 0 2 1 9 923
order = 10x1 categorical
airplane
automobile
bird
cat
deer
dog
frog
horse
ship
truck
confusionchart
를 사용하여 혼동행렬을 혼동행렬 차트로 플로팅할 수 있습니다.
figure cm = confusionchart(m,order);
혼동행렬을 먼저 계산한 다음 플로팅할 필요가 없습니다. 대신, 실제 레이블과 예측 레이블에서 직접 혼동행렬 차트를 플로팅합니다. 열과 행의 요약과 제목도 추가할 수 있습니다.
figure cm = confusionchart(trueLabels,predictedLabels, ... 'Title','My Title', ... 'RowSummary','row-normalized', ... 'ColumnSummary','column-normalized');
ConfusionMatrixChart
객체는 NormalizedValues
속성에 숫자형 혼동행렬을 저장하고 ClassLabels
속성에 클래스를 저장합니다.
cm.NormalizedValues
ans = 10×10
923 4 21 8 4 1 5 5 23 6
5 972 2 0 0 0 0 1 5 15
26 2 892 30 13 8 17 5 4 3
12 4 32 826 24 48 30 12 5 7
5 1 28 24 898 13 14 14 2 1
7 2 28 111 18 801 13 17 0 3
5 0 16 27 3 4 943 1 1 0
9 1 14 13 22 17 3 915 2 4
37 10 4 4 0 1 2 1 931 10
20 39 3 3 0 0 2 1 9 923
cm.ClassLabels
ans = 10x1 categorical
airplane
automobile
bird
cat
deer
dog
frog
horse
ship
truck
입력 인수
group
— 알려진 그룹
숫자형 벡터 | 논리형 벡터 | 문자형 배열 | string형 배열 | 문자형 벡터로 구성된 셀형 배열 | categorical형 벡터
관측값을 분류하는 데 사용되는 알려진 그룹으로, 숫자형 벡터, 논리형 벡터, 문자형 배열, string형 배열, 문자형 벡터로 구성된 셀형 배열 또는 categorical형 벡터로 지정됩니다.
group
은 grouphat
과 같은 유형의 그룹화 변수입니다. group
인수는 grouphat
과 관측값 개수가 같아야 합니다(그룹화 변수 (Statistics and Machine Learning Toolbox) 참조). confusionmat
함수는 문자형 배열과 string형 배열을 문자형 벡터로 구성된 셀형 배열로 처리합니다. 또한 confusionmat
는 group
에 있는 NaN
값, 빈 값, 'undefined'
값을 누락값으로 처리하여 이러한 값을 고유한 그룹이나 범주로 간주하지 않습니다.
예: {'Male','Female','Female','Male','Female'}
데이터형: single
| double
| logical
| char
| string
| cell
| categorical
grouphat
— 예측된 그룹
숫자형 벡터 | 논리형 벡터 | 문자형 배열 | string형 배열 | 문자형 벡터로 구성된 셀형 배열 | categorical형 벡터
관측값을 분류하는 데 사용되는 예측된 그룹으로, 숫자형 벡터, 논리형 벡터, 문자형 배열, string형 배열, 문자형 벡터로 구성된 셀형 배열 또는 categorical형 벡터로 지정됩니다.
grouphat
은 group
과 같은 유형의 그룹화 변수입니다. grouphat
인수는 group
과 관측값 개수가 같아야 합니다(그룹화 변수 (Statistics and Machine Learning Toolbox) 참조). confusionmat
함수는 문자형 배열과 string형 배열을 문자형 벡터로 구성된 셀형 배열로 처리합니다. 또한 confusionmat
는 grouphat
에 있는 NaN
값, 빈 값, 'undefined'
값을 누락값으로 처리하여 이러한 값을 고유한 그룹이나 범주로 간주하지 않습니다.
예: [1 0 0 1 0]
데이터형: single
| double
| logical
| char
| string
| cell
| categorical
grouporder
— 그룹 순서
숫자형 벡터 | 논리형 벡터 | 문자형 배열 | string형 배열 | 문자형 벡터로 구성된 셀형 배열 | categorical형 벡터
그룹 순서로, 숫자형 벡터, 논리형 벡터, 문자형 배열, string형 배열, 문자형 벡터로 구성된 셀형 배열 또는 categorical형 벡터로 지정됩니다.
grouporder
는 group
과 grouphat
에 있는 모든 고유한 요소를 포함하는 그룹화 변수입니다. grouporder
를 지정하여 C
의 행과 열의 순서를 정의할 수 있습니다. grouporder
에 group
또는 grouphat
에 속하지 않는 요소가 포함된 경우 이에 대응하는 C
의 요소는 0
이 됩니다.
기본적으로 그룹 순서는 s = [group;grouphat]
의 데이터형에 따라 달라집니다.
숫자형 벡터와 논리형 벡터의 경우
s
의 정렬된 순서로 표시됩니다.categorical형 벡터의 경우
에서 반환하는 순서로 표시됩니다.categories
(s)기타 데이터형의 경우
s
에 처음 나타난 순서로 표시됩니다.
예: 'order',{'setosa','versicolor','virginica'}
데이터형: single
| double
| logical
| char
| string
| cell
| categorical
출력 인수
C
— 혼동행렬
행렬
혼동행렬로, group
인수와 grouphat
인수에 포함된 고유한 요소의 총 개수와 크기가 같은 정사각 행렬로 반환됩니다. C(i,j)
는 그룹 i
에 속하는 것으로 알려져 있지만 그룹 j
에 속할 것으로 예측된 관측값의 개수입니다.
C
의 행과 열은 동일한 그룹 인덱스와 순서가 같습니다. 기본적으로 그룹 순서는 s = [group;grouphat]
의 데이터형에 따라 달라집니다.
숫자형 벡터와 논리형 벡터의 경우
s
의 정렬된 순서로 표시됩니다.categorical형 벡터의 경우
에서 반환하는 순서로 표시됩니다.categories
(s)기타 데이터형의 경우
s
에 처음 나타난 순서로 표시됩니다.
순서를 변경하려면 grouporder
를 지정하십시오.
confusionmat
함수는 그룹화 변수에 있는 NaN
값, 빈 값, 'undefined'
값을 누락값으로 처리하며, 이러한 값을 C
의 행과 열에 포함하지 않습니다.
order
— 행과 열의 순서
숫자형 벡터 | 논리형 벡터 | categorical형 벡터 | 문자형 벡터로 구성된 셀형 배열
C
에 포함된 행과 열의 순서로, 숫자형 벡터, 논리형 벡터, categorical형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 반환됩니다. group
과 grouphat
이 문자형 배열, string형 배열 또는 문자형 벡터로 구성된 셀형 배열인 경우 변수 order
는 문자형 벡터로 구성된 셀형 배열입니다. 그 외의 경우 order
는 group
및 grouphat
과 동일한 유형입니다.
대체 기능
confusionchart
를 사용하여 혼동행렬을 계산하고 플로팅할 수 있습니다. 또한confusionchart
는 데이터에 대한 요약 통계량을 표시하고 클래스별 정밀도(양성예측도), 클래스별 재현율(참양성률) 또는 올바르게 분류된 총 관측값 개수에 따라 혼동행렬의 클래스를 정렬합니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)