主要内容

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”);

创建一个混淆矩阵图表。

图cm = confusichart (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 = confusichart (m,classLabels);

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

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

负载(“Cifar10Labels.mat”“trueLabels”“predictedLabels”);图cm = confusichart (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 = confusichart (trueLabels,predictedLabels,'Title','My Title Text','ColumnSummary','column-normalized')

请注意

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

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

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

例子:厘米。Title = 'My Title Text'

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

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

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

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

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

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

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

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

单元格值的规范化,指定为以下之一:

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

修改单元格值的归一化也会影响单元格的颜色。

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

例子:厘米。正常化= '完全正常化'

输出参数

全部折叠

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

限制

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

更多关于

全部折叠

独立的可视化

独立可视化是为特殊目的而设计的图表,它独立于其他图表工作。不像其他图表,比如情节而且冲浪,一个独立的可视化有一个预先配置的axis对象内置在它里面,一些定制是不可用的。独立的可视化也具有以下特征:

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

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

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

提示

  • 如果您有一个热点(one-of-N)数据,则使用onehotdecode为使用准备数据confusionchart.例如,假设您有真实的标签目标预测标签输出,并将观察结果列成栏。你可以创建一个混淆矩阵图使用

    numClasses = size(targets,1);trueLabels = onehotdecode(targets,1:numClasses,1);predictedLabels = onehotdecode(outputs,1:numClasses,1);confusionchart (trueLabels predictedLabels)

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

在R2018b中介绍