主要内容

confusionchart

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

自从R2018b

描述

例子

confusionchart (trueLabels,predictedLabels)创建一个从真正的标签混淆矩阵图trueLabels和预测的标签predictedLabels并返回一个ConfusionMatrixChart对象。混淆矩阵的行对应于真实的类和对应的列预测类。对角线和非对角的细胞对应正确和错误分类观察,分别。使用厘米修改混淆矩阵图表创建后。一个属性列表,看到ConfusionMatrixChart属性

confusionchart ()创建一个数字混淆矩阵的混淆矩阵图。使用这个语法,如果你已经有一个数字在工作区中混淆矩阵。

confusionchart (,classLabels)出现在指定类标签x设在和y设在。使用这个语法,如果你已经有一个数字混淆矩阵和类标签在工作区中。

confusionchart (,___)创建混乱图在图中,面板,或指定的选项卡

例子

confusionchart (___,名称,值)指定附加的ConfusionMatrixChart使用一个或多个名称-值对参数属性。毕竟其他输入参数指定属性。一个属性列表,看到ConfusionMatrixChart属性

厘米= confusionchart (___)返回ConfusionMatrixChart对象。使用厘米修改表的属性在创建它。一个属性列表,看到ConfusionMatrixChart属性

例子

全部折叠

加载费雪的虹膜数据集。

负载fisheririsX =量;Y =物种;

X是一个数字矩阵,包含四个花瓣测量150虹膜。Y是一个单元阵列包含相应的特征向量的虹膜的物种。

训练k最近的邻居(资讯)分类器,最近的邻居的数量预测(k)是5。一个良好的实践是标准化数值预测数据。

Mdl = fitcknn (X, Y,“NumNeighbors”5,“标准化”1);

预测训练数据的标签。

predictedY = resubPredict (Mdl);

从真正的标签创建混淆矩阵图Y和预测的标签predictedY

厘米= confusionchart (Y, predictedY);

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

混淆矩阵显示的总数在每个细胞观察。混淆矩阵的行对应于真实的类,和列对应于预测类。对角线和非对角的细胞对应正确和错误分类观察,分别。

默认情况下,confusionchart类型的类定义的自然秩序排序。在这个例子中,类标签是特征向量confusionchart按字母顺序排序的类。使用sortClasses由指定的顺序排序的类或混淆矩阵的值。

NormalizedValues属性包含混淆矩阵的值。使用点符号显示这些值。

cm.NormalizedValues
ans =3×350 0 0 0 47 3 0 4 46

修改外观和行为的混淆矩阵图通过改变属性值。添加一个标题。

厘米。Title =“虹膜花分类使用资讯”;

添加列和行摘要。

厘米。RowSummary =“row-normalized”;厘米。ColumnSummary =“column-normalized”;

图包含一个ConfusionMatrixChart类型的对象。ConfusionMatrixChart类型的图表标题虹膜花分类使用资讯。

row-normalized行摘要显示正确和错误分类的百分比观察每个真正的类。column-normalized列显示正确和错误分类的百分比观察总结为每个预测类。

创建一个混淆矩阵图和排序的类图表根据来说来说真阳性率(召回)或阳性预测值(精度)。

加载和检查心律失常数据集。

负载心律失常isLabels =独特(Y);nLabels =元素个数(isLabels)
nLabels = 13
汇总(分类(Y))
值计算百分比1 245 2 54.20% 44 9.73% 3 15 3.32% 4 15 3.32% 5 13 2.88% 6 25 5.53% 7 3 9 9 8 2 0.44% 0.66% 1.99% 10 50 11.06% 14 4 0.88% 15 5 1.11% 16 4.87%

数据包含16个不同的标签,描述不同程度的心律失常,但响应(Y)只包含13个不同的标签。

训练一个分类树和树的预测resubstitution响应。

Mdl = fitctree (X, Y);predictedY = resubPredict (Mdl);

从真正的标签创建混淆矩阵图Y和预测的标签predictedY。指定“RowSummary”作为“row-normalized”显示的真阳性和假阳性的比例行总结。同时,指定“ColumnSummary”作为“column-normalized”显示阳性预测值和错误发现率列总结。

无花果=图;厘米= confusionchart (Y, predictedY,“RowSummary”,“row-normalized”,“ColumnSummary”,“column-normalized”);

调整容器的混乱图表所以百分比出现在行总结。

fig_Position = fig.Position;fig_Position (3) = fig_Position (3) * 1.5;fig.Position = fig_Position;

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

分类混淆矩阵根据真阳性,正常细胞在每一行通过设置值归一化财产“row-normalized”然后使用sortClasses。排序后,重置归一化属性回“绝对”显示的总数在每个细胞观察。

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

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

分类混淆矩阵根据阳性预测值,正常细胞在通过设置每一列值归一化财产“column-normalized”然后使用sortClasses。排序后,重置归一化属性回“绝对”显示的总数在每个细胞观察。

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

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

一系列高的费舍尔虹膜上执行分类数据集。计算已知的混淆矩阵图,预测高标签使用confusionchart函数。

当你执行计算高数组,MATLAB®使用一个平行池(默认如果你有并行计算工具箱™)或当地的MATLAB会话。要运行示例使用当地的MATLAB会话并行计算工具箱后,改变全球执行环境使用mapreduce函数。

mapreduce (0)

加载费雪的虹膜数据集。

负载fisheriris

把内存中的数组物种高大的数组。

tx =高(量);泰=高(物种);

在高数组找到观测的数量。

numObs =收集(长度(ty));%收集收集高数组到内存中

设置使用随机数生成器的种子rngtallrng再现性和随机选择训练样本。结果取决于工人的数量和执行环境高数组。有关详细信息,请参见控制你的代码运行

rng (“默认”)tallrng (“默认”)numTrain =地板(numObs / 2);[txTrain, trIdx] = datasample (tx numTrain,“替换”、假);tyTrain =泰(trIdx);

适合一个决策树分类器模型的训练样本。

mdl = fitctree (txTrain tyTrain);
评估高表达式使用当地的MATLAB会话:通过1 2:在0.77秒完成,通过2 2:在0.73秒完成评估在2.3秒完成评估高表达式使用本地MATLAB会话:——通过1 4:在0.34秒完成,通过2 4:在0.48秒完成,通过3 4:在0.5秒完成,通过4 4:在0.69秒完成评估在2.5秒完成评估高表达式使用本地MATLAB会话:——通过1 4:在0.26秒完成,通过2 4:在0.2秒完成,通过3 4:在0.37秒完成,通过4 4:在0.32秒完成评估在1.8秒完成评估高表达式使用本地MATLAB会话:——通过1 4:在0.24秒完成,通过2 4:在0.24秒完成,通过3 4:在0.4秒完成,通过4 4:在0.51秒完成评估在1.8秒完成评估高表达式使用本地MATLAB会话:——通过1 4:在0.17秒完成,通过2 4:在0.2秒完成,通过3 4:在0.3秒完成,通过4 4:在0.44秒完成评估在1.5秒完成

预测测试样本的标签使用训练模型。

txt = tx (~ trIdx:);标签=预测(mdl, txt);

创建结果分类混淆矩阵图。

tyTest =泰(~ trIdx);厘米= confusionchart (tyTest标签)
评估高表达式使用当地的MATLAB会话:通过1 1:在0.091秒完成评估在0.27秒完成评估高表达式使用本地MATLAB会话:-通过1对1:在0.31秒完成评估在0.48秒完成

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

厘米= ConfusionMatrixChart属性:NormalizedValues: [3 x3双]ClassLabels: {} 3 x1细胞显示所有属性

混淆矩阵图显示三个测量杂色的类被误诊。所有的测量属于setosa和virginica正确分类。

输入参数

全部折叠

真正的标签分类问题,指定为一个分类向量,数字矢量,字符串向量,字符数组,单元阵列的特征向量,或逻辑向量。如果trueLabels是一个矢量,然后每个元素对应于一个观察。如果trueLabels是一个字符数组,那么它必须与每一行二维标签对应一个观察。

预测分类标签问题,指定为一个分类向量,数字矢量,字符串向量,字符数组,单元阵列的特征向量,或逻辑向量。如果predictedLabels是一个矢量,然后每个元素对应于一个观察。如果predictedLabels是一个字符数组,那么它必须与每一行二维标签对应一个观察。

混淆矩阵,指定为一个矩阵。必须广场和它的元素必须是正整数。的元素m (i, j)的次数是一个观察的吗真正的类被预测的j类。每个颜色的细胞混淆矩阵图对应的混淆矩阵的一个元素

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

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

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:厘米= confusionchart (trueLabels predictedLabels,“标题”,“我的标题文本”、“ColumnSummary”,“column-normalized”)

请注意

这里列出的属性是唯一的一个子集。一个完整的列表,请参阅ConfusionMatrixChart属性

标题混淆矩阵图,指定为一个特征向量或字符串标量。

例子:厘米= confusionchart(__,“标题”,“我的标题文本”)

例子:厘米。Title =“我的标题文本”

混淆矩阵的列总结表,指定为以下之一:

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

例子:厘米= confusionchart (__,‘ColumnSummary’,‘column-normalized’)

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

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

选项 描述
“关闭” 不显示行总结。
“绝对” 显示正确的总数和错误分类的观察每个真正的类。
“row-normalized” 显示正确的数量和分类错误的观察每一个真正的类的百分比观察相应的真正的类的数量。正确分类的百分比观察来说可以认为是回忆(或真阳性利率)。
“total-normalized” 显示正确的数量和错误分类观察每个真正的类作为观测的总数的百分比。

例子:厘米= confusionchart (__,‘RowSummary’,‘row-normalized’)

例子:厘米。RowSummary = ' row-normalized '

归一化的细胞值,指定为以下之一:

选项 描述
“绝对” 在每个单元格显示观察结果的总数。
“column-normalized” 正常化每个单元格值的观测数量有相同的预测类。
“row-normalized” 每个单元格值正常化的数量观察这类具有相同的事实。
“total-normalized” 每个单元格值正常化总数的观察。

修改单元格值正常化也会影响细胞的颜色。

例子:厘米= confusionchart(__“正常化”,“total-normalized”)

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

输出参数

全部折叠

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

限制

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

更多关于

全部折叠

独立的可视化

一个独立的可视化图表设计为一个特殊目的,独立于其他图表。不像其他的图表等情节冲浪,一个独立的可视化内置了一个预配置的坐标轴对象,和一些自定义并不可用。一个独立的可视化也有这些特点:

  • 它不能与其他图形元素相结合,如线条、补丁或表面。因此,持有不支持的命令。金宝app

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

  • 可以通过图表对象很多MATLAB函数接受一个坐标轴对象作为输入参数。例如,您可以通过图表对象标题函数。

扩展功能

版本历史

介绍了R2018b