主要内容

plotConfusion

情节分类混淆矩阵

描述

例子

plotConfusion(目标,,,,输出绘制真实标签的混淆矩阵目标并预测标签输出。将标签指定为分类向量,或以N(一hot)形式指定标签。

小费

plotConfusion不建议使用分类标签。利用混乱反而。

在混淆矩阵图上,行对应于预测的类(输出类),列对应于True类(目标类)。对角细胞对应于正确分类的观测值。离子分子细胞对应于错误分类的观测值。每个单元格中显示观测值的数量和观测总数的百分比。

图图的最右边的列显示了预测属于每个类的所有示例的百分比,这些示例属于正确且错误地分类的每个类别。这些指标通常被称为精度(或阳性预测价值)和错误发现率。绘图底部的行显示了正确且错误分类的每个类别的所有示例的百分比。这些指标通常称为召回率(或真正的正率)和假负率。图右下角的单元显示了整体准确性。

plotConfusion(目标,,,,输出,,,,姓名绘制混乱矩阵并添加姓名到剧情标题的开头。

plotConfusion(targets1,outputs1,name1,targets2,outputs2,name2,...,targetsn,outputsn,namen)在一个图中绘制多个混淆矩阵,并添加姓名与相应图的标题的开始有关的论点。

例子

全部收缩

加载由手写数字的合成图像组成的数据。Xtrain是28乘28乘1 x-5000阵列的图像和ytrain是包含图像标签的分类向量。

[Xtrain,Ytrain] = DigitTrain4DarrayData;谁是ytrain
名称大小字节类属性ytrain 5000x1 6062分类

定义卷积神经网络的体系结构。

layers = [imageInputlayer([28 28 1])卷积2Dlayer(3,8,'填充',,,,'相同的')batchnormalizationlayer relulayer卷积2Dlayer(3,16,,'填充',,,,'相同的',,,,“大步”,2)batchnormalizationlayer relulayer卷积2Dlayer(3,32,'填充',,,,'相同的',,,,“大步”,2)batchnormalizationlayer relulayer plullconnectedlayer(10)softmaxlayer classificationlayer];

指定培训选项并培训网络。

选项=训练('sgdm',,,,...“ maxepochs”,5,...“冗长”,错误的,...“绘图”,,,,“训练过程”);net = trainnetwork(Xtrain,Ytrain,Layers,options);

使用训练有素的网络加载和分类测试数据。

[xtest,ytest] = digittest4darraydata;ypredialded =分类(net,xtest);

绘制真实测试标签的混淆矩阵ytest和预测的标签预计

plotConfusion(YTest,YTEST)

行对应于预测的类(输出类),列对应于True类(目标类)。对角细胞对应于正确分类的观测值。离子分子细胞对应于错误分类的观测值。每个单元格中显示观测值的数量和观测总数的百分比。

图图的最右边的列显示了预测属于每个类的所有示例的百分比,这些示例属于正确且错误地分类的每个类别。这些指标通常被称为精度(或阳性预测价值)和错误发现率。绘图底部的行显示了正确且错误分类的每个类别的所有示例的百分比。这些指标通常称为召回率(或真正的正率)和假负率。图右下角的单元显示了整体准确性。

关闭所有数字。

关闭(findall(groot,'类型',,,,'数字'))

使用cancer_dataset功能。Xtrain是一个9乘699的矩阵,定义了699个活检的9个属性。ytrain是一个2乘699的矩阵,其中每列指示相应观察结果的正确类别。每一列ytrain一个元素在第一行或第二行中等于一个元素,分别对应于癌症或恶性。有关此数据集的更多信息,请键入帮助Cancer_dataset在命令行。

RNG默认[Xtrain,Ytrain] = cancer_dataset;ytrain(:,1:10)
ans =2×101 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0

创建模式识别网络并使用示例数据训练它。

net = patternnet(10);net =火车(net,Xtrain,ytrain);

使用训练有素的网络估计癌症状况。矩阵的每一列预计分别包含属于1类和2类的每个观察结果的预测概率。

ypredistic = net(xtrain);yprediped(:,1:10)
ans =2×100.9980 0.9979 0.9894 0.0578 0.9614 0.9960 0.0026 0.0023 0.0084 0.9944 0.0020 0.0021 0.0106 0.9422 0.0386 0.0040 0.9974 0.9977 0.9916 0.0056

绘制混淆矩阵。为了创建图,plotConfusion根据最高级别的概率标记每个观察结果。

plotConfusion(Ytrain,Ytrain)

图混淆(PlotConfusion)包含一个轴对象。带有标题混淆矩阵的轴对象包含29个类型补丁,文本,行的对象。

在此图中,前两个对角线细胞显示了训练有素的网络正确分类的数量和百分比。例如,将446次活检正确地分类为良性。这对应于所有699个活检中的63.8%。同样,正确地将236例案件分类为恶性肿瘤。这对应于所有活检的33.8%。

5个恶性活检错误地分类为良性,这对应于数据中所有699个活检中的0.7%。类似地,有12个良性活检被错误地分类为恶性肿瘤,这对应于所有数据的1.7%。

在451个良性预测中,有98.9%是正确的,1.1%是错误的。在248个恶性预测中,有95.2%是正确的,4.8%是错误的。在458例良性病例中,有97.4%被正确预测为良性,预计2.6%为恶性。在241例恶性病例中,有97.9%正确地归类为恶性肿瘤,2.1%分类为良性。

总体而言,预测的97.6%是正确的,2.4%是错误的。

输入参数

全部收缩

真正的类标签,指定以下一个:

  • 一个分类向量,其中每个元素都是一个观察值的类标签。这输出目标参数必须具有相同数量的元素。如果分类向量定义了基础类,则plotConfusion显示所有基础类别,即使没有观察到某些基础类别。如果论点是序数分类向量,则它们都必须按照相同的顺序定义相同的基础类别。

  • 一个n-经过-m矩阵,哪里n是类的数量和m是观察的数量。矩阵的每一列必须以N(一hot)形式为单位,其中一个等于1的单个元素表示真实标签和所有其他元素等于0。

预测类标签,指定以下一个:

  • 一个分类向量,其中每个元素都是一个观察值的类标签。这输出目标参数必须具有相同数量的元素。如果分类向量定义了基础类,则plotConfusion显示所有基础类别,即使没有观察到某些基础类别。如果论点是序数分类向量,则它们都必须按照相同的顺序定义相同的基础类别。

  • 一个n-经过-m矩阵,哪里n是类的数量和m是观察的数量。矩阵的每一列都可以以N(一hot)形式为单一的形式,其中单个元素等于1表示预测的标签,也可以表示总和为一个的概率。

混淆矩阵的名称,指定为字符数组。plotConfusion添加指定的姓名到剧情标题的开头。

数据类型:char

也可以看看

|

在R2008A中引入