主要内容

confusionchart

为分类问题创建混淆矩阵图

描述

例子

confusionchart (trueLabelspredictedLabels从真正的标签创建一个混淆矩阵图表trueLabels预测标签predictedLabels并返回一个ConfusionMatrixChart对象。混淆矩阵的行对应真实的类别,列对应预测的类别。对角线单元格和非对角线单元格分别对应正确分类和错误分类的观测值。使用厘米对创建后的混淆矩阵图进行修改。有关属性列表,请参见ConfusionMatrixChart属性

例子

confusionchart (从数字混淆矩阵创建一个混淆矩阵图表.如果您在工作空间中已经有一个数字混淆矩阵,请使用此语法。

例子

confusionchart (classLabels类中出现的类标签x设在和y设在。如果在工作空间中已经有数字混淆矩阵和类标签,则使用此语法。

confusionchart (___属性指定的图形、面板或选项卡中创建混淆图

confusionchart (___名称,值指定附加的ConfusionMatrixChart使用一个或多个名称-值对参数的属性。在所有其他输入参数之后指定属性。有关属性列表,请参见ConfusionMatrixChart属性

厘米= confusionchart (___返回ConfusionMatrixChart对象。使用厘米在创建图表后修改图表的属性。有关属性列表,请参见ConfusionMatrixChart属性

例子

全部折叠

加载一个分类问题的预测标签和真实标签样本。trueLabels真正的标签是一个图像分类问题和predictedLabels是卷积神经网络的预测。

负载(“Cifar10Labels.mat”“trueLabels”“predictedLabels”);

创建一个混淆矩阵图表。

figure cm = confusionchart(trueLabels,predictedLabels);

图包含一个confusimatrixchart类型的对象。

通过更改属性值修改混淆矩阵图的外观和行为。添加列和行摘要和标题。列归一化列摘要显示每个预测类的正确分类和错误分类观测值的数量,作为对应预测类观测值的百分比。行规范化行摘要显示每个真类的正确分类和错误分类观测值的数量,作为对应真类观测值数量的百分比。

厘米。ColumnSummary =“column-normalized”;厘米。RowSummary =“row-normalized”;厘米。Title =“CIFAR-10混淆矩阵”

图包含一个confusimatrixchart类型的对象。混淆矩阵类型的图表标题为CIFAR-10混淆矩阵。

你可以使用confusionchart从数字混淆矩阵创建一个混淆矩阵图。

加载一个示例混淆矩阵和相关的类标签classLabels

负载(“Cifar10ConfusionMat.mat”“米”“classLabels”);米
m =10×10923年4 21日8 4 1 5 5 23日6 5 972 2 0 0 0 0 1 5 15 26 892 30 13 8 17 5 4 3 12 4 32 826 24 48 30 12 5 7 5 1 898年28日24日13 14 14 2 1 2 7 28 111 18 801 13 17 0 3 5 0 943年16日27日3 4 1 1 0 9 1 14 13 915年22日17日3 2 4 37 10 4 4 0 1 2 1 931 10 20 39 3 3 0 0 2 1 9 923
classLabels
classLabels =10 x1分类飞机汽车鸟猫鹿狗青蛙马轮船卡车

根据数字混淆矩阵和类标签创建一个混淆矩阵图表。

cm = confusionchart(m,classLabels);

图包含一个confusimatrixchart类型的对象。

加载一个分类问题的预测标签和真实标签样本。trueLabels图像分类问题的真实标签和predictedLabels是卷积神经网络的预测。创建一个列和行摘要的混淆矩阵图表

负载(“Cifar10Labels.mat”“trueLabels”“predictedLabels”);figure cm = confusionchart(trueLabels,predictedLabels,...“ColumnSummary”“column-normalized”...“RowSummary”“row-normalized”);

图包含一个confusimatrixchart类型的对象。

要按按类别召回率(真阳性率)对混淆矩阵的类别进行排序,请对每行的单元格值进行归一化,即根据具有相同真实类别的观察数进行归一化。按相应对角线单元格值对类排序,并重置单元格值的归一化。现在对类进行排序,使得右侧行摘要中的蓝色单元格中的百分比正在减少。

厘米。归一化=“row-normalized”;sortClasses(厘米,“descending-diagonal”);厘米。归一化=“绝对”

图包含一个confusimatrixchart类型的对象。

要按类的精度(正预测值)对类进行排序,请对每列的单元格值进行归一化,即根据具有相同预测类的观测值的数量进行归一化。按相应对角线单元格值对类排序,并重置单元格值的归一化。现在对类进行排序,使得底部列摘要中的蓝色单元格中的百分比正在减少。

厘米。归一化=“column-normalized”;sortClasses(厘米,“descending-diagonal”);厘米。归一化=“绝对”

图包含一个confusimatrixchart类型的对象。

输入参数

全部折叠

分类问题的真标签,指定为分类向量、数字向量、字符串向量、字符数组、字符向量的单元格数组或逻辑向量。如果trueLabels是一个向量,那么每个元素对应一个观测值。如果trueLabels是字符数组,则它必须是二维的,每一行对应一个观察值的标签。

分类问题的预测标签,指定为分类向量、数字向量、字符串向量、字符数组、字符向量的单元格数组或逻辑向量。如果predictedLabels是一个向量,那么每个元素对应一个观测值。如果predictedLabels是字符数组,则它必须是二维的,每一行对应一个观察值的标签。

混淆矩阵,指定为矩阵。必须是平方,它的元素必须是正整数。的元素m (i, j)是一次观察的次数吗真正的阶级被预言为j类。混淆矩阵图的每个彩色单元对应于混淆矩阵的一个元素

混淆矩阵图的类标签,指定为分类向量、数字向量、字符串向量、字符数组、字符向量的单元格数组或逻辑向量。如果classLabels是一个向量,那么它必须有相同数量的元素,因为混淆矩阵有行和列。如果classLabels是字符数组,则它必须是二维的,每一行对应一个类的标签。

父容器,指定为数字面板选项卡TiledChartLayout,或GridLayout对象。

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:cm = confusionchart(trueLabels,predictedLabels,'Title','My Title Text','ColumnSummary','column-normalized')

请注意

这里列出的属性只是一个子集。有关完整列表,请参见ConfusionMatrixChart属性

混淆矩阵图的标题,指定为字符向量或字符串标量。

例子:cm = confusionchart(__,'Title','My Title Text')

例子:厘米。标题= '我的标题文本'

混淆矩阵图的列摘要,指定为下列之一:

选项 描述
“关闭” 不显示列摘要。
“绝对” 显示每个预测类的正确和错误分类观测值的总数。
“column-normalized” 显示每个预测类的正确和错误分类观测值的数量,作为相应预测类观测值数量的百分比。正确分类的观测值的百分比可以被认为是分类精度(或正预测值)。
“total-normalized” 显示每个预测类的正确和错误分类观测值的数量,作为观测值总数的百分比。

例子:cm = confusionchart(__,'ColumnSummary','column-normalized')

例子:厘米。ColumnSummary = 'column-normalized'

混淆矩阵图的行摘要,指定为下列之一:

选项 描述
“关闭” 不显示行摘要。
“绝对” 显示每个真实类的正确和错误分类观测值的总数。
“row-normalized” 显示每个真实类的正确和错误分类观测值的数量,作为对应真实类观测值数量的百分比。正确分类的观察结果的百分比可以被认为是按类别的回忆(或真阳性率)。
“total-normalized” 显示每个真实类的正确和错误分类观测值的数量,作为观测值总数的百分比。

例子:cm = confusionchart(__,'RowSummary','row-normalized')

例子:厘米。RowSummary = '行规范化'

单元格值的归一化,指定为下列之一:

选项 描述
“绝对” 显示每个单元格中的观察总数。
“column-normalized” 用具有相同预测类别的观测数据的数量归一化每个单元格值。
“row-normalized” 用具有相同真实类的观察数规范化每个单元格值。
“total-normalized” 用观察的总数归一化每个单元格的值。

修改单元格值的规范化也会影响单元格的颜色。

例子:cm = confusionchart(__,'Normalization','total-normalized')

例子:厘米。归一化= 'total-normalized'

输出参数

全部折叠

ConfusionMatrixChart对象,它是a独立的可视化.使用厘米在创建混淆矩阵图后设置它的属性。

限制

  • MATLAB®不支持代码生成金宝appConfusionMatrixChart对象。

更多关于

全部折叠

独立的可视化

独立可视化是为特殊目的而设计的图表,它独立于其他图表。不像其他图表,比如情节而且冲浪,一个独立的可视化有一个预先配置的axis对象内置于其中,并且一些自定义不可用。一个独立的可视化也有这些特征:

  • 它不能与其他图形元素(如线、补丁或曲面)组合。因此,持有不支持命令。金宝app

  • gca函数可以将图表对象返回为当前轴。

  • 可以将图表对象传递给许多接受axis对象作为输入参数的MATLAB函数。方法传递图表对象标题函数。

提示

  • 如果您有一个热点(n中的一个)数据,请使用onehotdecode为使用准备数据confusionchart.例如,假设您有真实的标签目标预测标签输出,并在专栏中列出观察结果。您可以创建一个混淆矩阵图表

    numClasses = size(目标,1);trueLabels = onehotdecode(目标,1:numClasses,1);predictedLabels = onehotdecode(输出,1:numClasses,1);confusionchart (trueLabels predictedLabels)

  • 如果您有统计和机器学习工具箱™,您可以为高数组创建混淆矩阵图。详细信息请参见confusionchart(统计和机器学习工具箱)而且使用高数组分类的混淆矩阵(统计和机器学习工具箱)

在R2018b中引入