困惑的园林

为分类问题创建困惑矩阵图表

描述

ConfusionChart(Truelabels.预测标签从真品标签创建混淆矩阵图表Truelabels.和预测的标签预测标签并返回A.ConfusionMatrixChart.目的。混淆矩阵的行对应于真实类,列对应于预测类。对角线和非对角线单元分别对应于正确和错误的分类观察。采用厘米要在创建时修改混淆矩阵图表。有关属性列表,请参阅confusionmatrixchart属性

ConfusionChart(m从数字混淆矩阵创建混淆矩阵图表m。如果您已经在工作区中拥有数值混淆矩阵,请使用此语法。

ConfusionChart(mClassLabels.指定显示的类标签X-axis和y-轴。如果您已经在工作区中拥有数字混淆矩阵和类标签,请使用此语法。

ConfusionChart(父母___在图中指定的图形,面板或选项卡中创建混淆图表父母

ConfusionChart(___名称,价值指定其他ConfusionMatrixChart.属性使用一个或多个名称值对参数。在所有其他输入参数之后指定属性。有关属性列表,请参阅confusionmatrixchart属性

厘米= confusionchart(___返回ConfusionMatrixChart.目的。采用厘米创建图表的属性。有关属性列表,请参阅confusionmatrixchart属性

例子

全部收缩

装载Fisher的Iris数据集。

加载渔民x = meas;y =物种;

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

火车A.K.- 最终(knn)分类器,预测器中最近邻居的数量(K.)是5.良好做法是标准化数字预测数据。

mdl = fitcknn(x,y,'numneighbors',5,'标准化',1);

预测培训数据的标签。

预测= ResubPredict(MDL);

从真品创建混淆矩阵图表y和预测的标签预测

cm = ConfusionChart(Y,预测);

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

默认,困惑的园林将课程分类为其自然顺序定义分类。在此示例中,类标签是字符向量,因此困惑的园林按字母顺序排列类。采用sortclasses.按指定的顺序或混淆矩阵值对类进行排序。

标准化值属性包含混淆矩阵的值。使用点表示法显示这些值。

CM.NORMALIZEVALUES.
ans =.3×350 0 0 0 47 3 0 4 46

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

cm.title ='使用KNN的虹膜花分类;

添加列和行摘要。

cm.rowsummary ='行标准化';cm.columnsummary ='列 - 归一化';

行标准化的行摘要显示每个真实类的正确和错误分类的分类百分比。列归一化列摘要显示每个预测类的正确和错误分类的分类百分比。

创建混淆矩阵图表并根据类别的真实阳性率(召回)或类明智的阳性预测值(精度)对图表的类进行排序。

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

加载心律失常islabels =独特(Y);nlabels = numel(islabels)
nlabels = 13.
Tabulate(分类(y))
值计数百分比1 245 54.20%2 44 9.73%3 15 3.32%4 15 3.32%513 2.88%6 25 5.53%7 3 0.66%8 2 0.44%9 9 1.90%10 50 11.06%14 0.88%11.06%14 0.88%15 5 1.11%16 22 4.87%

数据包含16个描述各种心律失常的不同标签,但响应(y)仅包括13个不同的标签。

培训分类树并预测树的重新置答反应。

mdl = fitctree(x,y);预测= ResubPredict(MDL);

从真品创建混淆矩阵图表y和预测的标签预测。指定'rowsmumary''行标准化'显示行摘要中的真正阳性率和假阳性率。另外,指定'placeSummary''列 - 归一化'显示列摘要中的肯定预测值和假发现速率。

图=图;cm = confusionchart(y,predigey,'rowsmumary''行标准化''placeSummary''列 - 归一化');

调整混淆图表的容器大小,因此百分比显示在行摘要中。

fig_position = fig.position;fig_position(3)= fig_position(3)* 1.5;fig.position = fig_position;

要根据真正的阳性速率对混淆矩阵进行排序,通过设置逐行对每行的单元格值进行正常化正常化财产'行标准化'然后使用sortclasses.。排序后,重置正常化物业返回'绝对'显示每个单元中的观察总数。

cm.normalization =.'行标准化';SortClasses(cm,'下降 - 对角线')cm.normalization =.'绝对';

根据阳下预测值对混淆矩阵进行排序,通过设置每个列跨越小区值正常化财产'列 - 归一化'然后使用sortclasses.。排序后,重置正常化物业返回'绝对'显示每个单元中的观察总数。

cm.normalization =.'列 - 归一化';SortClasses(cm,'下降 - 对角线')cm.normalization =.'绝对';

在Fisher Iris数据集的高级阵列上执行分类。通过使用该数据来计算已知和预测的高标签的混淆矩阵图表困惑的园林功能。

当您对高阵列执行计算时,Matlab®使用并行池(如果您有并行计算工具箱™)或本地MATLAB会话,则使用并行池(默认值)。如果要使用“本地MATLAB会话”会话有并行计算工具箱运行示例,则可以使用“使用本地计算”工具箱更改全局执行环境Mapreducer.功能。

装载Fisher的Iris数据集。

加载渔民

转换内存阵列测定种类到高大的阵列。

tx =高(Meas);
使用“本地”配置文件...连接到并行池(工人数:4)开始并行池(Parpool)。
ty =高(物种);

找到高阵列中的观察数。

numobs =聚集(长度(ty));%收集将高大的数组收集到内存中

使用随机数发生器的种子使用RNG.塔罗尔尔为了再现性,随机选择培训样本。结果可以根据工人数量和高大阵列的执行环境而有所不同。有关详细信息,请参阅控制代码运行的位置(matlab)。

RNG('默认')Tallrng('默认')numtrain =楼层(numobs / 2);[txtrain,tridx] = datasample(tx,numtrain,'更换',假);tytrain = ty(tridx);

适合培训样本的决策树分类器模型。

mdl = fitcree(txtrain,tytrain);
使用并行池“本地”评估高表达: -  PASS 1的2:4.2 SEC  -  PASS 2中的2:2.4秒评估完成于11秒的评估,使用并行池“本地”评估高表达式: -  PASS 14:在1.7秒内完成 - 通过4的第2条:2秒内完成 - 第3条 - 通行证3:3.5秒 - 通过4项,共4分:在2.9秒评估中完成,在13秒评估使用并行池评估高表情的评估。当地: - 通过4:在0.78秒内完成 - 通过第4条:第4条:在1.8秒内完成 - 通过4:在2.9秒内完成的3个 - 通过4,共4分:2.1秒评估,在9.6秒的评价中完成,评估高表达式使用并行池“本地”: - 通过4个:1/4:在1.2秒内完成 - 通过4的第2条:在1.9秒内完成 - 通过4个:3.3秒内完成 - 通过4项,共4分,共4分:22秒评估在12秒内完成使用并行池“本地”评估高表达: - 通过4的第1条:完成在1.1秒 - 通过4的第2条:在1.7秒内完成- 第3条第3条:在3.1秒内完成 - 通过4项,共4个:在2.9秒评估中完成,在12秒内完成

通过使用培训的模型预测测试样本的标签。

txtest = tx(〜tridx,:);标签=预测(MDL,TXTEST);

为生成的分类创建混淆矩阵图表。

tytest = ty(〜tridx);cm = confusionchart(tytest,label)
使用并行池“本地”评估高表达: - 通过1:在0.67秒的评估中完成,在1.3秒内完成使用并行池“本地”评估高表达: - 通过1:在2秒评估中完成的第1条:完成3.1秒

CM = ConfusionMatrixChart具有属性:归一化Values:[3x3 Double]类标签:{3x1 Cell}显示所有属性

困惑矩阵图表显示versicolor类中的三个测量被错误分类。属于Setosa和Virginica的所有测量都被正确分类。

输入参数

全部收缩

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

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

混淆矩阵,指定为矩阵。m必须是正方形,其元素必须是正整数。元素m(i,j)是观察的次数一世预计th真正的课程是j班。混淆矩阵图的每个彩色电池对应于混淆矩阵的一个元素m

混淆矩阵图表的类标签,指定为分类矢量,数字矢量,字符串向量,字符数组,字符向量或逻辑向量的单元数组。如果ClassLabels.是矢量,然后它必须具有相同数量的元素,因为混淆矩阵具有行和列。如果ClassLabels.是一个字符数组,那么它必须是二维与对应于一个类的标签的每行。

父容器,其中绘制,指定为a数字面板, 要么标签目的。

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例:cm = confusionchart(truelabels,predightlabels,'title','我的标题文本','columnsummary','列 - 归一化')

注意

此处列出的属性仅是一个子集。有关完整列表,请参阅confusionmatrixchart属性

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

例:CM = ConfusionChart(__,'标题','我的标题文本')

例:cm.title ='我的标题文本'

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

选项 描述
'off' 请勿显示列摘要。
'绝对' 为每个预测类显示正确和错误的分类的总数。
'列 - 归一化' 显示每个预测类的正确和错误分类的分类的数量,作为相应预测类的观察次数的百分比。正确归类的观察的百分比可以被认为是明智的精度(或阳性预测值)。
'总归一化' 显示每个预测类的正确和错误分类的分类的数量,作为观察总数的百分比。

例:CM = ConfusionChart(__,'columnalumary','列标准化')

例:cm.columnsummary ='列归一化'

“混淆矩阵”图表的行摘要,指定为以下内容之一:

选项 描述
'off' 请勿显示行摘要。
'绝对' 为每个真实类显示正确和错误分类的分类的总数。
'行标准化' 显示每个真级的正确和错误分类的观察的数量,作为相应真实类别的观察次数的百分比。正确归类的观察的百分比可以被认为是智慧召回(或真正的阳性率)。
'总归一化' 显示每个真级的正确和错误分类的观察的数量,作为观察总数的百分比。

例:cm = confusionchart(__,'rowsmamary','行标准化')

例:cm.rowsummary ='行标准化'

单元值的标准化指定为以下内容之一:

选项 描述
'绝对' 显示每个单元中的观察总数。
'列 - 归一化' 通过具有相同预测类的观察数来归一化每个单元值。
'行标准化' 通过具有相同真实类的观察数来归一化每个单元值。
'总归一化' 通过观察总数正常化每个细胞值。

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

例:CM = ConfusionChart(__,'归一化','全标准化')

例:cm.normalization ='全归一化'

限制

  • 马铃薯®不支持代码生成万博1manbetxConfusionMatrixChart.对象。

扩展能力

也可以看看

职能

属性

在R2018B中介绍