confusionmat
분류문제에대한혼동행렬계산
구문
설명
예제
혼동행렬@ @시하기
두개의오분류와한개의누락된분류가있는데이터에대한혼동행렬을@ @시합니다。
알려진그룹과예측된그룹에대한벡터를생성합니다。
G1 = [3 2 2 3 1 1]';%已知组g2 = [4 2 3 NaN 1 1]';预测组
혼동행렬을반환합니다。
C = confusimat (g1,g2)
C =4×42 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0
혼동행렬C
의행과열에대한marketing덱스는동일하며,기본적으로(g1, g2)
의정렬된순서,즉(1、2、3、4)
로정렬됩니다。
1에이혼동행렬은그룹속하는것으로알려진두개의데이터점이올바르게분류되었음을보여줍니다。그룹2의경우,데이터점중하나가그룹3으로오분류되었습니다。또한,그룹3에속하는것으로알려진데이터점중하나가그룹4로오분류되었습니다。confusionmat
는그룹화변수g2
에 있는南
값을누락값으로처리하여C
의행과열에포함시키지않습니다。
confusionchart
를사용하여혼동행렬을혼동행렬차트로플로팅합니다。
confusionchart (C)
혼동행렬을먼저계산한후플로팅할필가없습니다。대신confusionchart
를사용하여실제레이블과예측레이블에서직접혼동행렬차트를플로팅할수있습니다。
Cm =混淆图(g1,g2)
cm = ConfusionMatrixChart with properties: NormalizedValues: [4x4 double] ClassLabels: [4x1 double]显示所有属性
ConfusionMatrixChart
객체는NormalizedValues
속성에숫자형혼동행렬을저장하고ClassLabels
속성에클래스를저장합니다。점` ` `기법을사용하여이러한속성을` ` ` `시합니다。
厘米。NormalizedValues
ans =4×42 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0
厘米。ClassLabels
ans =4×11 2 3 4
혼동행렬의그룹순서지정하기
두개의오분류와한개의누락된분류가있는데이터에대한혼동행렬을표시하고그룹순서를지정합니다。
알려진그룹과예측된그룹에대한벡터를생성합니다。
G1 = [3 2 2 3 1 1]';%已知组g2 = [4 2 3 NaN 1 1]';预测组
그룹순서를지정하고혼동행렬을반환합니다。
C = confismat (g1,g2,“秩序”,[4 3 2 1])
C =4×40 0 0 0 1 0 0 0 1 1 0 0 0 0 2
혼동행렬C
의행과열에대한marketing덱스는동일하며,그룹순서로지정된순서,즉(4、3、2、1)
로정렬됩니다。
혼동행렬C
3에의두번째행은그룹속하는것으로알려진데이터점중하나가그룹4로오분류되었음을보여줍니다。C
2에의세번째행은그룹속하는데이터점중하나가그룹3으로오분류되었음을보여주고,네번째행은그룹1에속하는것으로알려진두개의데이터점이올바르게분류되었음을보여줍니다。confusionmat
는그룹화변수g2
에 있는南
값을누락값으로처리하여C
의행과열에포함시키지않습니다。
분류에대한혼동행렬
fisheriris
데이터세트의표본에대해분류를수행하고결과로생성되는분류에대한혼동행렬을표시합니다。
피셔(费雪)의붓꽃데이터세트를불러옵니다。
负载fisheriris
데이터에서측정값과그룹을임의화합니다。
rng (0,“旋风”);%用于再现性numObs =长度(物种);p = randperm(numObs);Meas = Meas (p,:);Species = Species (p);
데이터의첫번째절반에포함된측정값을사용하여판별분석분류기를훈련시킵니다。
half = floor(numObs/2);训练= meas(1:一半,:);trainingSpecies =物种(1:一半);Mdl = fitcdiscr(training,trainingSpecies);
훈련된분류기를사용하여데이터의나머지절반에포함된측정값에대한레이블을예측합니다。
Sample = meas(half+1:end,:);grouphat = predict(Mdl,样本);
그룹순서를지정하고결과로생성된분류에대한혼동행렬을@ @시합니다。
Group = species(half+1:结束);[C,order] = confismat (group,grouphat,“秩序”, {“setosa”,“多色的”,“virginica”})
C =3×329 0 0 0 22 2 0 0 22
订单=3 x1细胞{'setosa'} {'versicolor'} {'virginica'}
이혼동행렬은setosa및virginica에속하는측정값이올바르게분류되었지만杂色的에속하는측정값중두개가virginica로오분류되었음을보여줍니다。출력값订单
는그룹순서{“setosa”、“癣”、“virginica '}
로지정된순서로혼동행렬의행과열의순서를포함합니다。
高大형배열을사용한분류에대한혼동행렬
fisheriris
데이터세트로구성된高형배열에대해분류를수행하고,confusionmat
함수를사용하여알려진高형레이블및예측된高형레이블에대한혼동행렬을계산한후confusionchart
함수를사용하여혼동행렬을플로팅합니다。
高형배열에대한계산을수행할때MATLAB®은병렬풀(并行计算工具箱™를사용할경우디폴트값)또는로컬MATLAB세션을사용합니다。并行计算工具箱가있는상태에서로컬MATLAB세션을사용하여예제를실행하려는경우mapreduce
함수를사용하여전역실행환경을변경하면됩니다。
피셔(费雪)의붓꽃데이터세트를불러옵니다。
负载fisheriris
메모리내배열量
및物种
를高형배열로변환합니다。
Tx =高(平均);
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工人数:6)。
Ty =高(物种);
高大형배열에포함된관측값개수를구합니다。
numObs = gather(length(ty));将高数组收集到内存中
재현이가능하도록rng
및tallrng
를사용하여난수생성기의시드값을설정하고,훈련@본을무작위로선택합니다。결과는워커의개수및高형배열의실행환경에따라다를수있습니다。자세한내용은控制代码运行的位置항목을참조하십시오。
rng (“默认”) tallrng (“默认”) numTrain = floor(numObs/2);[txTrain,trIdx] = datasample(tx,numTrain,“替换”、假);tyTrain = ty(trIdx);
훈련@ @본에대해결정트리분류기모델을피팅합니다。
mdl = fitctree(txTrain,tyTrain);
评估高表达式使用并行池“当地”:——通过1 2:在3.9秒完成,通过2 2:在1.5秒完成评估在7.3秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.88秒完成,通过2 4:在1.6秒完成,通过3 4:在4秒完成,通过4 4:在2.7秒完成评估在11秒完成评估高表达式使用并行池“当地”:——通过1 4:完成0.54秒-通过2 4:在1.2秒完成,通过3 4:完成在3秒-通过4 4:在2秒完成评估在7.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.51秒完成,通过2 4:在1.3秒完成,通过3 4:在3.1秒完成,通过4 4:在2.5秒完成评估在8.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.42秒内完成-通过2 / 4:在1.2秒内完成-通过3 / 4:在3秒内完成-通过4 / 4:在2.1秒内完成评估在7.6秒内完成
훈련된모델을사용하여검정@ @본에대한레이블을예측합니다。
txTest = tx(~trIdx,:);label = predict(mdl,txTest);
결과로생성된분류에대한혼동행렬을계산합니다。
tyTest = ty(~trIdx);[C,order] = confismat (tyTest,label)
C = m×n×…高阵???...???...? ? ? ... : : : : : : Preview deferred. Learn more. order = M×N×... tall array ? ? ? ... ? ? ? ... ? ? ? ... : : : : : : Preview deferred. Learn more.
收集
함수를사용하여보류했던계산을수행하고confusionmat
의결과를메모리에반환합니다。
收集(C)
使用并行池“本地”评估tall表达式:-通过1 / 1:在1.9秒内完成评估,在2.3秒内完成
ans =3×320 0 0 1 30 20 0 22
收集(顺序)
使用并行池“本地”计算tall表达式:在0.032秒内完成计算
ans =3×1细胞{'setosa'} {'versicolor'} {'virginica'}
이혼동행렬은杂色的클래스에속하는측정값세개가오분류되었음을보여줍니다。濑户및弗吉尼亚에속하는모든측정값은올바르게분류되었습니다。
혼동행렬을계산하고플로팅하려면대신confusionchart
를사용하십시오。
cm =混淆表(tyTest,label)
使用并行池“本地”评估高表达式:-通过1 / 1:在0.34秒内完成评估,在0.6秒内完成评估,使用并行池“本地”评估高表达式:-通过1 / 1:在0.48秒内完成评估,在0.67秒内完成
NormalizedValues: [3×3 double] ClassLabels: {3×1 cell}显示所有属性
입력marketing수
集团
- - - - - -알려진그룹
숫자형벡터|논리형벡터|문자형배열|字符串형배열|문자형벡터로구성된셀형배열|分类형벡터
관측값을분류하는데사용되는알려진그룹으로,숫자형벡터,논리형벡터,문자형배열,字符串형배열,문자형벡터로구성된셀형배열또는直言형벡터로지정됩니다。
集团
은grouphat
과같은유형의그룹화변수입니다。集团
化学式수는grouphat
과관측값개수가같아야합니다(그룹화변수의설명참조)。confusionmat
함수는문자형배열과字符串형배열을문자형벡터로구성된셀형배열로처리합니다。또한,confusionmat
는集团
에 있는南
값,빈값,“定义”
값을누락값으로처리하고고유한그룹또는범주로간주하지않습니다。
예:{'男','女','女','男','女'}
데이터형:单
|双
|逻辑
|字符
|字符串
|细胞
|分类
grouphat
- - - - - -예측된그룹
숫자형벡터|논리형벡터|문자형배열|字符串형배열|문자형벡터로구성된셀형배열|分类형벡터
grouporder
- - - - - -그룹 순서
숫자형벡터|논리형벡터|문자형배열|字符串형배열|문자형벡터로구성된셀형배열|分类형벡터
그룹순서로,숫자형벡터,논리형벡터,문자형배열,字符串형배열,문자형벡터로구성된셀형배열또는直言형벡터로지정됩니다。
grouporder
는集团
과grouphat
에있는모든고유한소를포함하는그룹화변수입니다。grouporder
를지정하여C
의행과열의순서를정의할수있습니다。grouporder
에集团
이나grouphat
에속하지않는소가포함된경우이에대응하는C
의소는0
이됩니다。
기본적으로,그룹순서는S = [group;grouphat]
의데이터형에따라결정됩니다。
숫자형벡터와논리형벡터의경우,
年代
의정렬된순서로@ @시됩니다。分类형벡터의경우,
가반환한순서로@ @시됩니다。类别
(年代)기타데이터형의경우,
年代
에처음나타난순서로@ @시됩니다。
예:“秩序”,{“setosa”、“癣”,“virginica”}
데이터형:单
|双
|逻辑
|字符
|字符串
|细胞
|分类
출력marketing수
C
-혼동행렬
행렬
혼동행렬,集团
化学式수와grouphat
수에포함된고유한소의총개수와크기가같은정사각행렬로반환됩니다。C (i, j)
는 그룹我
에속하는것으로알려졌지만그룹j
에속하는것으로예측된관측값의개수입니다。
C
의행과열은동일한그룹덱스와순서가같습니다。기본적으로,그룹순서는S = [group;grouphat]
의데이터형에따라결정됩니다。
숫자형벡터와논리형벡터의경우,
年代
의정렬된순서로@ @시됩니다。分类형벡터의경우,
가반환한순서로@ @시됩니다。类别
(年代)기타데이터형의경우,
年代
에처음나타난순서로@ @시됩니다。
순서를변경하려면grouporder
를지정하십시오。
confusionmat
함수는그룹화변수에있는南
값,빈값,“定义”
값을누락값으로처리하고C
의행과열에포함시키지않습니다。
订单
-행과열의순서
숫자형벡터|논리형벡터|分类형벡터|문자형벡터로구성된셀형배열
C
에포함된행과열의순서로,숫자형벡터,논리형벡터,直言형벡터또는문자형벡터로구성된셀형배열로반환됩니다。集团
과grouphat
이문자형배열,字符串형배열,또는문자형벡터로구성된셀형배열tmp경우변수订单
는문자형벡터로구성된셀형배열입니다。그렇지않은경우订单
는集团
및grouphat
과동일한유형입니다。
대체 기능
confusionchart
를사용하여혼동행렬을계산하고플로팅할수있습니다。또한,confusionchart
는데이터에대한요약통계량을표시하고클래스별정밀도(양성예측도),클래스별재현율(참양성률)또는올바르게분류된관측값의총개수에따라혼동행렬의클래스를분류합니다。
확장 기능
高형배열
메모리에담을수없을정도로많은행을가진배열을계산할수있습니다。
이함수는高형배열을완전히지원합니다。자세한내용은高형배열항목을참조하십시오。
버전 내역
R2008b에개발됨
Matlab명령
다음matlab명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력하십시오。웹브라우저는matlab명령을지원하지않습니다。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。