主要内容gydF4y2Ba

CompactClassificationECOCgydF4y2Ba

紧凑的多类支持向量机模型(svm)和其他分类器金宝appgydF4y2Ba

描述gydF4y2Ba

CompactClassificationECOCgydF4y2Ba是一个紧凑版本的多级纠错输出编码(ECOC)模型。紧凑的分类器不包括数据用于训练多级ECOC模型。因此,您不能执行某些任务,如交叉验证,使用紧凑的分类器。使用一个紧凑的多级ECOC任务,如分类新数据模型(gydF4y2Ba预测gydF4y2Ba)。gydF4y2Ba

创建gydF4y2Ba

您可以创建一个gydF4y2BaCompactClassificationECOCgydF4y2Ba模型在两个方面:gydF4y2Ba

属性gydF4y2Ba

全部展开gydF4y2Ba

在您创建一个gydF4y2BaCompactClassificationECOCgydF4y2Ba模型对象,您可以使用点符号来访问其属性。例如,看到的gydF4y2Ba火车和旨在ECOC分类器gydF4y2Ba。gydF4y2Ba

ECOC属性gydF4y2Ba

训练有素的二进制学习者,指定为一个细胞模型对象的向量。二进制学习者的数量取决于类的数量gydF4y2BaYgydF4y2Ba和编码设计。gydF4y2Ba

软件培训gydF4y2BaBinaryLearner {j}gydF4y2Ba根据指定的二元问题gydF4y2BaCodingMatrixgydF4y2Ba(:,j)gydF4y2Ba。例如,使用SVM多类学习的学习者,每个元素gydF4y2BaBinaryLearnersgydF4y2Ba是一个gydF4y2BaCompactClassificationSVMgydF4y2Ba分类器。gydF4y2Ba

数据类型:gydF4y2Ba细胞gydF4y2Ba

二进制学习者损失函数,指定为一个特征向量代表损失函数的名字。gydF4y2Ba

默认的gydF4y2BaBinaryLossgydF4y2Ba返回的值取决于分数范围二进制学习者。这个表确定一些默认的gydF4y2BaBinaryLossgydF4y2Ba值是当你使用默认的分数变换(gydF4y2BaScoreTransformgydF4y2Ba模型的属性gydF4y2Ba“没有”gydF4y2Ba)。gydF4y2Ba

假设gydF4y2Ba 默认值gydF4y2Ba

所有二进制学习者都有下列:gydF4y2Ba

  • 决策树分类gydF4y2Ba

  • 判别分析模型gydF4y2Ba

  • kgydF4y2Ba最近的邻居模型gydF4y2Ba

  • 逻辑回归的线性或内核分类模型的学习者gydF4y2Ba

  • 朴素贝叶斯模型gydF4y2Ba

“二次”gydF4y2Ba
所有二进制学习者SVM或线性内核分类的支持向量机模型的学习者。gydF4y2Ba “枢纽”gydF4y2Ba
所有二进制学习者乐团训练gydF4y2BaAdaboostM1gydF4y2Ba或gydF4y2BaGentleBoostgydF4y2Ba。gydF4y2Ba “指数”gydF4y2Ba
所有二进制学习者乐团训练gydF4y2BaLogitBoostgydF4y2Ba。gydF4y2Ba “binodeviance”gydF4y2Ba
您指定预测类的后验概率通过设置gydF4y2Ba“FitPosterior”,真的gydF4y2Ba在gydF4y2BafitcecocgydF4y2Ba。gydF4y2Ba “二次”gydF4y2Ba
二进制学习者异构和使用不同的损失函数。gydF4y2Ba “汉明”gydF4y2Ba

检查默认值,使用点符号显示gydF4y2BaBinaryLossgydF4y2Ba在命令行属性的训练模型。gydF4y2Ba

可能增加精度,指定一个二进制以外的损失函数默认在预测或损失计算通过使用gydF4y2BaBinaryLossgydF4y2Ba名称-值参数gydF4y2Ba预测gydF4y2Ba或gydF4y2Ba损失gydF4y2Ba。有关更多信息,请参见gydF4y2Ba二元损失gydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba

类赋值代码二进制学习者,指定为一个数字矩阵。gydF4y2BaCodingMatrixgydF4y2Ba是一个gydF4y2BaKgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba矩阵,gydF4y2BaKgydF4y2Ba类和数量吗gydF4y2BalgydF4y2Ba是二进制学习者的数量。gydF4y2Ba

的元素gydF4y2BaCodingMatrixgydF4y2Ba是gydF4y2Ba1gydF4y2Ba,gydF4y2Ba0gydF4y2Ba,gydF4y2Ba1gydF4y2Ba和值对应于两个类作业。此表描述了学习者gydF4y2BajgydF4y2Ba分配在课堂上观察gydF4y2Ba我gydF4y2Ba二分类对应的值gydF4y2BaCodingMatrix (i, j)gydF4y2Ba。gydF4y2Ba

价值gydF4y2Ba 两个类的任务gydF4y2Ba
1gydF4y2Ba 学习者gydF4y2BajgydF4y2Ba分配在课堂上观察gydF4y2Ba我gydF4y2Ba一个负类。gydF4y2Ba
0gydF4y2Ba 在培训之前,学习者gydF4y2BajgydF4y2Ba删除在课堂上观察gydF4y2Ba我gydF4y2Ba从数据集。gydF4y2Ba
1gydF4y2Ba 学习者gydF4y2BajgydF4y2Ba分配在课堂上观察gydF4y2Ba我gydF4y2Ba一个积极的类。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba

二进制学习者重量、指定为数字行向量。的长度gydF4y2BaLearnerWeightsgydF4y2Ba等于二进制学习者的数量(gydF4y2Ba长度(Mdl.BinaryLearners)gydF4y2Ba)。gydF4y2Ba

LearnerWeights (j)gydF4y2Ba观察权重之和,二进制学习者gydF4y2BajgydF4y2Ba用来训练分类器。gydF4y2Ba

软件使用gydF4y2BaLearnerWeightsgydF4y2Ba根据后验概率通过最小化Kullback-Leibler散度。软件忽略了gydF4y2BaLearnerWeightsgydF4y2Ba当它使用的二次规划方法估计后验概率。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

其他分类属性gydF4y2Ba

分类预测指标,指定为一个向量的正整数。gydF4y2BaCategoricalPredictorsgydF4y2Ba包含索引值表明相应的预测分类。索引值介于1和gydF4y2BapgydF4y2Ba,在那里gydF4y2BapgydF4y2Ba预测的数量被用来训练模型。如果所有的预测都直言,那么这个属性是空的(gydF4y2Ba[]gydF4y2Ba)。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

独特的类标签用于培训,指定为一个类别或字符数组,逻辑或数值向量,或单元阵列的特征向量。gydF4y2Ba一会gydF4y2Ba具有相同的数据类型的类标签吗gydF4y2BaYgydF4y2Ba。gydF4y2Ba(软件对字符串数组作为细胞阵列特征向量)。gydF4y2Ba一会gydF4y2Ba也决定了课堂秩序。gydF4y2Ba

数据类型:gydF4y2Ba分类gydF4y2Ba|gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba逻辑gydF4y2Ba|gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Ba细胞gydF4y2Ba

这个属性是只读的。gydF4y2Ba

误分类代价,指定为一个正方形数字矩阵。gydF4y2Ba成本gydF4y2Ba有gydF4y2BaKgydF4y2Ba行和列,gydF4y2BaKgydF4y2Ba类的数量。gydF4y2Ba

成本(i, j)gydF4y2Ba是一个指向类分类的成本gydF4y2BajgydF4y2Ba如果它真正的类gydF4y2Ba我gydF4y2Ba。的行和列的顺序gydF4y2Ba成本gydF4y2Ba对应于类的顺序gydF4y2Ba一会gydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

预测出他们名字的顺序出现在预测数据,指定为一个单元阵列的特征向量。的长度gydF4y2BaPredictorNamesgydF4y2Ba等于在训练数据变量的数量gydF4y2BaXgydF4y2Ba或gydF4y2Ba资源描述gydF4y2Ba作为预测变量。gydF4y2Ba

数据类型:gydF4y2Ba细胞gydF4y2Ba

扩展预测名称,指定为一个单元阵列的特征向量。gydF4y2Ba

如果分类变量的模型使用的编码,那么gydF4y2BaExpandedPredictorNamesgydF4y2Ba包括名称,描述变量扩展。否则,gydF4y2BaExpandedPredictorNamesgydF4y2Ba是一样的gydF4y2BaPredictorNamesgydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba细胞gydF4y2Ba

这个属性是只读的。gydF4y2Ba

类概率之前,指定为一个数值向量。gydF4y2Ba之前gydF4y2Ba有尽可能多的元素类的数量gydF4y2Ba一会gydF4y2Ba和元素的顺序对应类的顺序gydF4y2Ba一会gydF4y2Ba。gydF4y2Ba

fitcecocgydF4y2Ba包含不同的误分类代价之间的不同类型的二进制学习者。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

响应变量名称,指定为一个特征向量。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba

分数转换函数适用于预测分数,指定为一个函数名或函数处理。gydF4y2Ba

改变分数转换函数gydF4y2Ba函数gydF4y2Ba例如,使用点符号。gydF4y2Ba

  • 对于一个内置的函数,输入这个代码和替换gydF4y2Ba函数gydF4y2Ba表中的值。gydF4y2Ba

    Mdl。ScoreTransform = 'gydF4y2Ba函数gydF4y2Ba”;gydF4y2Ba

    价值gydF4y2Ba 描述gydF4y2Ba
    “doublelogit”gydF4y2Ba 1 / (1 +gydF4y2BaegydF4y2Ba2gydF4y2BaxgydF4y2Ba)gydF4y2Ba
    “invlogit”gydF4y2Ba 日志(gydF4y2BaxgydF4y2Ba/ (1 -gydF4y2BaxgydF4y2Ba))gydF4y2Ba
    “ismax”gydF4y2Ba 集类的分数最大的分数为1,并设置所有其他类的分数为0gydF4y2Ba
    “分对数”gydF4y2Ba 1 / (1 +gydF4y2BaegydF4y2Ba- - - - - -gydF4y2BaxgydF4y2Ba)gydF4y2Ba
    “没有”gydF4y2Ba或gydF4y2Ba“身份”gydF4y2Ba xgydF4y2Ba(转换)gydF4y2Ba
    “标志”gydF4y2Ba 1gydF4y2BaxgydF4y2Ba< 0gydF4y2Ba
    为0gydF4y2BaxgydF4y2Ba= 0gydF4y2Ba
    1gydF4y2BaxgydF4y2Ba> 0gydF4y2Ba
    “对称”gydF4y2Ba 2gydF4y2BaxgydF4y2Ba- 1gydF4y2Ba
    “symmetricismax”gydF4y2Ba 集合类的分数最大的分数为1,和所有其他类的分数设置为1gydF4y2Ba
    “symmetriclogit”gydF4y2Ba 2 / (1 +gydF4y2BaegydF4y2Ba- - - - - -gydF4y2BaxgydF4y2Ba)- 1gydF4y2Ba

  • 对于一个MATLABgydF4y2Ba®gydF4y2Ba函数或你定义一个函数,输入它的功能处理。gydF4y2Ba

    Mdl。ScoreTransform = @gydF4y2Ba函数gydF4y2Ba;gydF4y2Ba

    函数gydF4y2Ba必须接受一个矩阵(原始分数)并返回一个相同大小的矩阵(转换后的分数)。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Bafunction_handlegydF4y2Ba

对象的功能gydF4y2Ba

compareHoldoutgydF4y2Ba 比较两种分类模型使用新数据的精度gydF4y2Ba
discard金宝appSupportVectorsgydF4y2Ba 丢弃的支持向量的金宝app线性支持向量机二进制学习者ECOC模型gydF4y2Ba
边缘gydF4y2Ba 对多级分类边缘纠错输出编码(ECOC)模型gydF4y2Ba
收集gydF4y2Ba 收集的属性gydF4y2Ba统计和机器学习工具gydF4y2Ba对象从GPUgydF4y2Ba
incrementalLearnergydF4y2Ba 将多级纠错输出编码(ECOC)模型增量学习gydF4y2Ba
石灰gydF4y2Ba 本地可model-agnostic解释(石灰)gydF4y2Ba
损失gydF4y2Ba 分类损失多级纠错输出编码(ECOC)模型gydF4y2Ba
保证金gydF4y2Ba 分类利润率多级纠错输出编码(ECOC)模型gydF4y2Ba
partialDependencegydF4y2Ba 计算部分依赖gydF4y2Ba
plotPartialDependencegydF4y2Ba 创建部分依赖图(PDP)和个人条件期望(ICE)情节gydF4y2Ba
预测gydF4y2Ba 使用多级分类观察纠错输出编码(ECOC)模型gydF4y2Ba
沙普利gydF4y2Ba 沙普利值gydF4y2Ba
selectModelsgydF4y2Ba 选择的子集多级ECOC二进制组成的模型gydF4y2BaClassificationLineargydF4y2Ba学习者gydF4y2Ba
更新gydF4y2Ba 更新模型参数代码生成gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

减少的大小完全ECOC模型的训练数据。满ECOC模型(gydF4y2BaClassificationECOCgydF4y2Ba模型)训练数据。要提高效率,使用一个较小的分类器。gydF4y2Ba

加载费雪的虹膜数据集。指定预测数据gydF4y2BaXgydF4y2Ba响应数据gydF4y2BaYgydF4y2Ba和类的顺序gydF4y2BaYgydF4y2Ba。gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX =量;Y =分类(物种);classOrder =独特(Y);gydF4y2Ba

火车一个ECOC模型使用SVM二元分类器。规范使用一个支持向量机预测数据模板gydF4y2BatgydF4y2Ba和指定的类。在培训期间,软件使用空选项的默认值gydF4y2BatgydF4y2Ba。gydF4y2Ba

t = templateSVM (gydF4y2Ba“标准化”gydF4y2Ba,真正的);Mdl = fitcecoc (X, Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“类名”gydF4y2Ba,classOrder);gydF4y2Ba

MdlgydF4y2Ba是一个gydF4y2BaClassificationECOCgydF4y2Ba模型。gydF4y2Ba

减少ECOC模型的大小。gydF4y2Ba

CompactMdl =紧凑(Mdl)gydF4y2Ba
CompactMdl = CompactClassificationECOC ResponseName:‘Y’CategoricalPredictors:[]类名:[setosa杂色的virginica] ScoreTransform:“没有一个”BinaryLearners: {3 x1细胞}CodingMatrix: 3 x3的双重属性,方法gydF4y2Ba

CompactMdlgydF4y2Ba是一个gydF4y2BaCompactClassificationECOCgydF4y2Ba模型。gydF4y2BaCompactMdlgydF4y2Ba不存储所有的属性gydF4y2BaMdlgydF4y2Ba商店。尤其是,它不能存储训练数据。gydF4y2Ba

显示每个分类器使用的内存数量。gydF4y2Ba

谁(gydF4y2Ba“CompactMdl”gydF4y2Ba,gydF4y2Ba“Mdl”gydF4y2Ba)gydF4y2Ba
类属性名称大小字节CompactMdl 1 x1 15116 classreg.learning.classif。28357 ClassificationECOC CompactClassificationECOC Mdl 1 x1gydF4y2Ba

完整的ECOC模型(gydF4y2BaMdlgydF4y2Ba)大约是两倍大小的紧凑ECOC模型(gydF4y2BaCompactMdlgydF4y2Ba)。gydF4y2Ba

标签新观测效率,您可以删除gydF4y2BaMdlgydF4y2Ba从MATLAB®工作区,然后通过gydF4y2BaCompactMdlgydF4y2Ba和新的值来预测指标gydF4y2Ba预测gydF4y2Ba。gydF4y2Ba

训练,旨在ECOC分类器使用不同的二进制学习者和one-versus-all编码设计。gydF4y2Ba

加载费雪的虹膜数据集。指定预测数据gydF4y2BaXgydF4y2Ba和响应数据gydF4y2BaYgydF4y2Ba。确定类名和类的数量。gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX =量;Y =物种;一会=独特(物种(~ strcmp(物种,gydF4y2Ba”gydF4y2Ba)))gydF4y2Ba%删除空的类gydF4y2Ba
一会=gydF4y2Ba3 x1细胞gydF4y2Ba{' setosa}{“癣”}{' virginica '}gydF4y2Ba
K =元素个数(类名)gydF4y2Ba%的类gydF4y2Ba
K = 3gydF4y2Ba

您可以使用gydF4y2Ba一会gydF4y2Ba培训期间指定类的顺序。gydF4y2Ba

one-versus-all编码设计,这个例子gydF4y2BaKgydF4y2Ba= 3二进制学习者。指定二进制学习者这样的模板:gydF4y2Ba

  • 二进制学习者1和2是朴素贝叶斯分类器。缺省情况下,每个预测是有条件的,正态分布鉴于其标签。gydF4y2Ba

  • 二进制学习者3是一个支持向量机分类器。指定使用高斯内核。gydF4y2Ba

rng (1);gydF4y2Ba%的再现性gydF4y2BatNB = templateNaiveBayes ();tSVM = templateSVM (gydF4y2Ba“KernelFunction”gydF4y2Ba,gydF4y2Ba“高斯”gydF4y2Ba);tLearners = {tNB tNB tSVM};gydF4y2Ba

tNBgydF4y2Ba和gydF4y2BatSVMgydF4y2Ba是朴素贝叶斯和支持向量机学习模板对象,分别。在培训对象表示使用哪个选项。大部分的属性是空的,除了那些名称-值对所指定的参数。在培训期间,软件填写空属性的默认值。gydF4y2Ba

训练,旨在ECOC分类器使用二进制学习者模板和one-versus-all编码设计。指定类的顺序。默认情况下,朴素贝叶斯分类器使用后验概率作为得分,而支持向量机分类器使用边界距离决定。因此,聚合二进制学习者,你必须指定适合后验概率。gydF4y2Ba

CVMdl = fitcecoc (X, Y,gydF4y2Ba“类名”gydF4y2Ba一会,gydF4y2Ba“CrossVal”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“学习者”gydF4y2BatLearners,gydF4y2Ba“FitPosterior”gydF4y2Ba,真正的);gydF4y2Ba

CVMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedECOCgydF4y2Ba旨在模型。默认情况下,软件实现了10倍交叉验证。分数在二进制学习者有相同的形式(也就是说,他们是后验概率),所以该软件可以聚合二进制分类正确的结果。gydF4y2Ba

检查的一个训练有素的折叠使用点符号。gydF4y2Ba

CVMdl.Trained {1}gydF4y2Ba
ans = CompactClassificationECOC ResponseName:‘Y’CategoricalPredictors:[]类名:{“setosa”“杂色的”“virginica”} ScoreTransform:“没有一个”BinaryLearners: {3 x1细胞}CodingMatrix: 3 x3的双重属性,方法gydF4y2Ba

每一个褶皱都是gydF4y2BaCompactClassificationECOCgydF4y2Ba模型训练数据的90%。gydF4y2Ba

您可以访问的结果二进制学习者使用点符号和细胞索引。显示训练SVM分类器(第三个二进制学习者)在第一折。gydF4y2Ba

CVMdl.Trained {1} .BinaryLearners {3}gydF4y2Ba
ans = CompactClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:[1]ScoreTransform:“@ (S)乙状结肠(e + 00年代,-4.016142,-3.244921 e-01)的α:[33 x1双]偏见:-0.1345 KernelParameters: [1 x1 struct] SupportVectors: [33 x4双]Suppor金宝apptVectorLabels: 33 x1双重属性,方法gydF4y2Ba

估计泛化误差。gydF4y2Ba

genError = kfoldLoss (CVMdl)gydF4y2Ba
genError = 0.0333gydF4y2Ba

泛化误差平均为3%左右。gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

算法gydF4y2Ba

全部展开gydF4y2Ba

引用gydF4y2Ba

[1]Furnkranz,约翰。“循环赛分类”。gydF4y2Baj·马赫。学习。Res。gydF4y2Ba2卷,2002年,页721 - 747。gydF4y2Ba

[2]Escalera, S。,O. Pujol, and P. Radeva. “Separability of ternary codes for sparse designs of error-correcting output codes.”Recog模式。列托人。gydF4y2Ba问题3,卷。30日,2009年,页285 - 297。gydF4y2Ba

扩展功能gydF4y2Ba

版本历史gydF4y2Ba

介绍了R2014bgydF4y2Ba