主要内容gydF4y2Ba

ClassificationECOCgydF4y2Ba

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

描述gydF4y2Ba

ClassificationECOCgydF4y2Ba是一个gydF4y2Ba纠错输出编码(ECOC)分类器gydF4y2Ba多级学习,分类器包括多个二进制学习者如支持向量机(svm)。金宝app训练有素的gydF4y2BaClassificationECOCgydF4y2Ba分类器存储训练数据,参数值、先验概率、编码矩阵。使用这些分类器来执行任务,比如预测新数据(见标签或后验概率gydF4y2Ba预测gydF4y2Ba)。gydF4y2Ba

创建gydF4y2Ba

创建一个gydF4y2BaClassificationECOCgydF4y2Ba对象的使用gydF4y2BafitcecocgydF4y2Ba。gydF4y2Ba

如果您指定线性或内核二进制学习者没有指定交叉验证选项,然后gydF4y2BafitcecocgydF4y2Ba返回一个gydF4y2BaCompactClassificationECOCgydF4y2Ba对象。gydF4y2Ba

属性gydF4y2Ba

全部展开gydF4y2Ba

在您创建一个gydF4y2BaClassificationECOCgydF4y2Ba模型对象,您可以使用点符号来访问其属性。例如,看到的gydF4y2Ba火车使用SVM多类模型的学习者gydF4y2Ba。gydF4y2Ba

ECOC属性gydF4y2Ba

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

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

数据类型:gydF4y2Ba细胞gydF4y2Ba

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

如果你训练使用二进制学习者使用不同的损失函数,然后软件集gydF4y2BaBinaryLossgydF4y2Ba来gydF4y2Ba“汉明”gydF4y2Ba。可能增加精度,指定一个二进制以外的损失函数默认在预测或损失计算通过使用gydF4y2Ba“BinaryLoss”gydF4y2Ba名称-值对的观点gydF4y2Ba预测gydF4y2Ba或gydF4y2Ba损失gydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba

二进制学习者类标签,指定为一个数字矩阵。gydF4y2BaBinaryYgydF4y2Ba是一个gydF4y2BaNumObservationsgydF4y2Ba——- - - - - -gydF4y2BalgydF4y2Ba矩阵,gydF4y2BalgydF4y2Ba是二进制学习者的数量(gydF4y2Ba长度(Mdl.BinaryLearners)gydF4y2Ba)。gydF4y2Ba

的元素gydF4y2BaBinaryYgydF4y2Ba是gydF4y2Ba1gydF4y2Ba,gydF4y2Ba0gydF4y2Ba,或gydF4y2Ba1gydF4y2Ba和值对应于一个二分类任务。此表描述了学习者gydF4y2BajgydF4y2Ba分配的观察gydF4y2BakgydF4y2Ba二分类对应的值gydF4y2BaBinaryY (k, j)gydF4y2Ba。gydF4y2Ba

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

数据类型:gydF4y2Ba双gydF4y2Ba

这个属性是只读的。gydF4y2Ba

本数值预测边缘,指定的单元阵列gydF4y2BapgydF4y2Ba数值向量,gydF4y2BapgydF4y2Ba预测的数量。每个向量包括箱子边缘数值预测。单元阵列中的元素分类预测是空的,因为软件不本分类预测。gydF4y2Ba

软件垃圾箱只有指定数值预测gydF4y2Ba“NumBins”gydF4y2Ba名称-值参数作为一个正整数标量当训练学习者模型树。的gydF4y2BaBinEdgesgydF4y2Ba属性是空的,如果gydF4y2Ba“NumBins”gydF4y2Ba值是空的(默认)。gydF4y2Ba

你可以复制被预测数据gydF4y2BaXbinnedgydF4y2Ba通过使用gydF4y2BaBinEdgesgydF4y2Ba训练模型的属性gydF4y2BamdlgydF4y2Ba。gydF4y2Ba

X = mdl.X;%预测数据Xbinned = 0(大小(X));边缘= mdl.BinEdges;%找到被预测的指标。idxNumeric =找到(~ cellfun (@isempty边缘));如果iscolumn idxNumeric idxNumeric = idxNumeric ';对j = idxNumeric x = x (:, j);% x转换为数组如果x是一个表。如果istable (x) x = table2array (x);组x %到垃圾箱使用结束gydF4y2Ba离散化gydF4y2Ba函数。xbinned =离散化(x,[无穷;边缘{};正]);Xbinned (:, j) = Xbinned;结束gydF4y2Ba
XbinnedgydF4y2Ba包含本指标,从1到垃圾箱的数量,数值预测。gydF4y2BaXbinnedgydF4y2Ba分类预测的值是0。如果gydF4y2BaXgydF4y2Ba包含gydF4y2Ba南gydF4y2Ba年代,那么相应的gydF4y2BaXbinnedgydF4y2Ba值是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

编码设计名称,指定为一个特征向量。更多细节,请参阅gydF4y2Ba编码设计gydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba

二进制学习者重量、指定为数字行向量。的长度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

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

数据类型:gydF4y2Ba双gydF4y2Ba

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

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

数据类型:gydF4y2Ba细胞gydF4y2Ba

参数值,如名称-值对参数值,用于列车ECOC分类器,指定为一个对象。gydF4y2BaModelParametersgydF4y2Ba不包含估计参数。gydF4y2Ba

访问的属性gydF4y2BaModelParametersgydF4y2Ba使用点符号。例如,列表包含二进制参数模板学习者通过使用gydF4y2BaMdl.ModelParameters.BinaryLearnergydF4y2Ba。gydF4y2Ba

在训练数据的观察,指定为一个积极的数字标量。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

预测出他们名字的顺序出现在预测数据gydF4y2BaXgydF4y2Ba指定为一个单元阵列的特征向量。的长度gydF4y2BaPredictorNamesgydF4y2Ba等于列数gydF4y2BaXgydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba细胞gydF4y2Ba

这个属性是只读的。gydF4y2Ba

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

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

数据类型:gydF4y2Ba双gydF4y2Ba

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

数据类型:gydF4y2Ba字符gydF4y2Ba

行中使用的原始训练数据拟合gydF4y2BaClassificationECOCgydF4y2Ba模型,指定为一个逻辑向量。使用这个属性是空的,如果所有行。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

观察权重训练ECOC分类器使用,指定为一个数值向量。gydF4y2BaWgydF4y2Ba有gydF4y2BaNumObservationsgydF4y2Ba元素。gydF4y2Ba

软件可实现重量以便用于培训gydF4y2Basum (W, omitnan)gydF4y2Ba是gydF4y2Ba1gydF4y2Ba。gydF4y2Ba

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

Unstandardized ECOC分类器训练使用预测数据,指定为一个数字矩阵或表。gydF4y2Ba

每一行的gydF4y2BaXgydF4y2Ba对应于一个观察,每一列对应一个变量。gydF4y2Ba

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

观察类标签用于训练ECOC分类器,分类或字符数组,指定逻辑或者数值向量、数组或单元的特征向量。gydF4y2BaYgydF4y2Ba有gydF4y2BaNumObservationsgydF4y2Ba元素和具有相同的数据类型作为输入参数gydF4y2BaYgydF4y2Ba的gydF4y2BafitcecocgydF4y2Ba。gydF4y2Ba(软件对字符串数组作为细胞阵列特征向量)。gydF4y2Ba

每一行的gydF4y2BaYgydF4y2Ba代表观察到的分类对应的行gydF4y2BaXgydF4y2Ba。gydF4y2Ba

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

Hyperparameter优化性能gydF4y2Ba

这个属性是只读的。gydF4y2Ba

交叉验证优化hyperparameters,指定为一个gydF4y2BaBayesianOptimizationgydF4y2Ba对象或一个表hyperparameters和相关联的值。这个属性是否非空的gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba名称-值对参数非空的当你创建模型。的价值gydF4y2BaHyperparameterOptimizationResultsgydF4y2Ba取决于的设置gydF4y2Ba优化器gydF4y2Ba字段gydF4y2BaHyperparameterOptimizationOptionsgydF4y2Ba当您创建结构模型。gydF4y2Ba

的价值gydF4y2Ba优化器gydF4y2Ba场gydF4y2Ba 的价值gydF4y2BaHyperparameterOptimizationResultsgydF4y2Ba
“bayesopt”gydF4y2Ba(默认)gydF4y2Ba 对象的类gydF4y2BaBayesianOptimizationgydF4y2Ba
“gridsearch”gydF4y2Ba或gydF4y2Ba“randomsearch”gydF4y2Ba hyperparameters表使用,观察目标函数值(交叉验证损失)和从最低(最好的)最高等级的观察(坏的)gydF4y2Ba

对象的功能gydF4y2Ba

紧凑的gydF4y2Ba 减少大小的多级纠错输出编码(ECOC)模型gydF4y2Ba
compareHoldoutgydF4y2Ba 比较两种分类模型使用新数据的精度gydF4y2Ba
crossvalgydF4y2Ba 旨在多级纠错输出编码(ECOC)模型gydF4y2Ba
discard金宝appSupportVectorsgydF4y2Ba 丢弃的支持向量的金宝app线性支持向量机二进制学习者ECOC模型gydF4y2Ba
边缘gydF4y2Ba 对多级分类边缘纠错输出编码(ECOC)模型gydF4y2Ba
收集gydF4y2Ba 收集的属性gydF4y2Ba统计和机器学习工具gydF4y2Ba对象从GPUgydF4y2Ba
损失gydF4y2Ba 分类损失多级纠错输出编码(ECOC)模型gydF4y2Ba
保证金gydF4y2Ba 分类利润率多级纠错输出编码(ECOC)模型gydF4y2Ba
partialDependencegydF4y2Ba 计算部分依赖gydF4y2Ba
plotPartialDependencegydF4y2Ba 创建部分依赖图(PDP)和个人条件期望(ICE)情节gydF4y2Ba
预测gydF4y2Ba 使用多级分类观察纠错输出编码(ECOC)模型gydF4y2Ba
resubEdgegydF4y2Ba Resubstitution分类边缘多级纠错输出编码(ECOC)模型gydF4y2Ba
石灰gydF4y2Ba 本地可model-agnostic解释(石灰)gydF4y2Ba
resubLossgydF4y2Ba Resubstitution分类损失多级纠错输出编码(ECOC)模型gydF4y2Ba
resubMargingydF4y2Ba Resubstitution分类利润率多级纠错输出编码(ECOC)模型gydF4y2Ba
resubPredictgydF4y2Ba 在多级分类观察纠错输出编码(ECOC)模型gydF4y2Ba
沙普利gydF4y2Ba 沙普利值gydF4y2Ba
testckfoldgydF4y2Ba 比较两种分类模型的精度重复交叉验证gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

训练多级纠错输出编码(ECOC)模型使用支持向量机(SVM)二进制学习者。金宝appgydF4y2Ba

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

负载gydF4y2BafisheririsgydF4y2BaX =量;Y =物种;gydF4y2Ba

火车一个多级ECOC模型使用默认选项。gydF4y2Ba

Mdl = fitcecoc (X, Y)gydF4y2Ba
Mdl = ClassificationECOC ResponseName:‘Y’CategoricalPredictors:[]类名:{“setosa”“杂色的”“virginica”} ScoreTransform:“没有一个”BinaryLearners: {3 x1细胞}CodingName:“onevsone”属性,方法gydF4y2Ba

MdlgydF4y2Ba是一个gydF4y2BaClassificationECOCgydF4y2Ba模型。默认情况下,gydF4y2BafitcecocgydF4y2Ba使用支持向量机二进制学习者和one-versus-one编码设计。您可以访问gydF4y2BaMdlgydF4y2Ba使用点符号属性。gydF4y2Ba

显示类名和编码设计矩阵。gydF4y2Ba

Mdl.ClassNamesgydF4y2Ba
ans =gydF4y2Ba3 x1细胞gydF4y2Ba{' setosa}{“癣”}{' virginica '}gydF4y2Ba
CodingMat = Mdl.CodingMatrixgydF4y2Ba
CodingMat =gydF4y2Ba3×3gydF4y2Ba1 1 0 1 0 1 0 1 1gydF4y2Ba

one-versus-one编码设计三个类收益率三个二进制学习者。的列gydF4y2BaCodingMatgydF4y2Ba对应于学习者,行对应的类。类的顺序是一样的gydF4y2BaMdl.ClassNamesgydF4y2Ba。例如,gydF4y2BaCodingMat (: 1)gydF4y2Ba是gydF4y2Ba(1;1;0]gydF4y2Ba并表明软件训练首先观察分为SVM二进制学习者使用gydF4y2Ba“setosa”gydF4y2Ba和gydF4y2Ba“多色的”gydF4y2Ba。因为gydF4y2Ba“setosa”gydF4y2Ba对应于gydF4y2Ba1gydF4y2Ba,它是积极的类;gydF4y2Ba“多色的”gydF4y2Ba对应于gydF4y2Ba1gydF4y2Ba,所以它是负类。gydF4y2Ba

您可以访问每个二进制学习者使用细胞索引和点符号。gydF4y2Ba

Mdl.BinaryLearners {1}gydF4y2Ba%第一二进制学习者gydF4y2Ba
ans = CompactClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:[1]ScoreTransform:“没有一个”测试:[4 x1双]偏见:1.4492 KernelParameters: [1 x1 struct]属性,方法gydF4y2Ba

计算resubstitution分类错误。gydF4y2Ba

错误= resubLoss (Mdl)gydF4y2Ba
错误= 0.0067gydF4y2Ba

训练数据的分类误差很小,但分类器可能是一个overfitted模型。你可以旨在分类器使用gydF4y2BacrossvalgydF4y2Ba和计算交叉验证分类错误。gydF4y2Ba

火车一个ECOC使用支持向量机分类器的二进制学习者。二进制学习者的访问属性,如估计参数,通过使用点符号。gydF4y2Ba

加载费雪的虹膜数据集。指定花瓣维度作为预测和物种名称作为响应。gydF4y2Ba

负载gydF4y2BafisheririsgydF4y2BaX =量(:,3:4);Y =物种;gydF4y2Ba

火车一个ECOC使用支持向量机分类器的二进制学习者和默认的编码设计(one-versus-one)。规范预测并保存支持向量。金宝appgydF4y2Ba

t = templateSVM (gydF4y2Ba“标准化”gydF4y2Ba,真的,gydF4y2Ba“Save金宝appSupportVectors”gydF4y2Ba,真正的);predictorNames = {gydF4y2Ba“petalLength”gydF4y2Ba,gydF4y2Ba“petalWidth”gydF4y2Ba};responseName =gydF4y2Ba“irisSpecies”gydF4y2Ba;一会= {gydF4y2Ba“setosa”gydF4y2Ba,gydF4y2Ba“多色的”gydF4y2Ba,gydF4y2Ba“virginica”gydF4y2Ba};gydF4y2Ba%指定类的顺序gydF4y2BaMdl = fitcecoc (X, Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba“ResponseName”gydF4y2BaresponseName,gydF4y2Ba…gydF4y2Ba“PredictorNames”gydF4y2BapredictorNames,gydF4y2Ba“类名”gydF4y2Ba类名)gydF4y2Ba
Mdl = ClassificationECOC PredictorNames: {“petalLength”“petalWidth”} ResponseName:“irisSpecies”CategoricalPredictors:[]类名:{“setosa”“杂色的”“virginica”} ScoreTransform:“没有一个”BinaryLearners: {3 x1细胞}CodingName:“onevsone”属性,方法gydF4y2Ba

tgydF4y2Ba是一个模板对象,包含支持向量机分类的选项。这个函数gydF4y2BafitcecocgydF4y2Ba使用默认值为空(gydF4y2Ba[]gydF4y2Ba)的属性。gydF4y2BaMdlgydF4y2Ba是一个gydF4y2BaClassificationECOCgydF4y2Ba分类器。您可以访问的属性gydF4y2BaMdlgydF4y2Ba使用点符号。gydF4y2Ba

显示类名和编码设计矩阵。gydF4y2Ba

Mdl.ClassNamesgydF4y2Ba
ans =gydF4y2Ba3 x1细胞gydF4y2Ba{' setosa}{“癣”}{' virginica '}gydF4y2Ba
Mdl.CodingMatrixgydF4y2Ba
ans =gydF4y2Ba3×3gydF4y2Ba1 1 0 1 0 1 0 1 1gydF4y2Ba

列对应SVM二进制学习者,行对应于不同的类。行命令的顺序是一样的gydF4y2Ba一会gydF4y2Ba的属性gydF4y2BaMdlgydF4y2Ba。每一列:gydF4y2Ba

  • 1gydF4y2Ba表明gydF4y2BafitcecocgydF4y2Ba训练支持向量机使用观察在相应的类的成员积极的团体。gydF4y2Ba

  • 1gydF4y2Ba表明gydF4y2BafitcecocgydF4y2Ba训练支持向量机使用观察在相应的类成员的负面组。gydF4y2Ba

  • 0gydF4y2Ba表明支持向量机不使用观察在相应的类中。gydF4y2Ba

例如,在第一个支持向量机gydF4y2BafitcecocgydF4y2Ba分配所有的观察gydF4y2Ba“setosa”gydF4y2Ba或gydF4y2Ba“多色的”gydF4y2Ba,但不gydF4y2Ba“virginica”gydF4y2Ba。gydF4y2Ba

使用细胞加下标访问svm的属性点符号。存储每个支持向量机的标准支持向量。金宝appUnstandardize支持向量。金宝appgydF4y2Ba

L =大小(Mdl.CodingMatrix, 2);gydF4y2Ba%的支持向量机gydF4y2Basv =细胞(L, 1);gydF4y2Ba% Preallocate支持向量指金宝app标gydF4y2Ba为gydF4y2Baj = 1: L SVM = Mdl.BinaryLearners {};sv {j} = SVM金宝app.SupportVectors;sv {j} = sv {j}。* SVM。σ+ SVM.Mu;gydF4y2Ba结束gydF4y2Ba

svgydF4y2Ba是一种矩阵单元阵列包含unstandardized svm支持向量。金宝appgydF4y2Ba

图数据,并确定支持向量。金宝appgydF4y2Ba

图gscatter (X (: 1), (:, 2), Y);持有gydF4y2Ba在gydF4y2Ba标记= {gydF4y2Ba“柯”gydF4y2Ba,gydF4y2Ba“罗”gydF4y2Ba,gydF4y2Ba“波”gydF4y2Ba};gydF4y2Ba%应该的长度gydF4y2Ba为gydF4y2Baj = 1: L sv = sv {j};情节(sv (: 1), sv(:, 2),标记{j},gydF4y2Ba…gydF4y2Ba“MarkerSize”gydF4y2Ba,10 + (j - 1) * 3);gydF4y2Ba结束gydF4y2Ba标题(gydF4y2Ba费舍尔”年代虹膜——ECOC支持向量金宝appgydF4y2Ba)包含(predictorNames {1}) ylabel (predictorNames{2})传说([一会,{gydF4y2Ba“金宝app支持向量- SVM 1”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“金宝app支持向量- SVM 2”gydF4y2Ba,gydF4y2Ba的金宝app支持向量- SVM 3 'gydF4y2Ba}),gydF4y2Ba…gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与费舍尔的虹膜ECOC支持向量包含6行类型的对象。金宝app这些对象代表setosa,杂色的,virginica,支持向量- SVM 1,支持向量-支持向量机2,支持向量金宝app- SVM 3。gydF4y2Ba

你可以通过gydF4y2BaMdlgydF4y2Ba这些函数:gydF4y2Ba

  • 预测gydF4y2Ba,分类的新观察gydF4y2Ba

  • resubLossgydF4y2Ba在训练数据来估计分类错误gydF4y2Ba

  • crossvalgydF4y2Ba交叉验证,执行10倍gydF4y2Ba

旨在一个二进制学习者ECOC分类器和支持向量机,估计广义分类错误。gydF4y2Ba

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

负载gydF4y2BafisheririsgydF4y2BaX =量;Y =物种;rng (1);gydF4y2Ba%的再现性gydF4y2Ba

创建一个支持向量机模板,规范预测。gydF4y2Ba

t = templateSVM (gydF4y2Ba“标准化”gydF4y2Ba,真正的)gydF4y2Ba
t =适合分类支持向量机的模板。α:[0 x1双]BoxConstraint: [] CacheSize: [] CachingMethod:“ClipAlphas: [] DeltaGradientTolerance:[]ε:[]GapTolerance: [] KKTTolerance: [] IterationLimit: [] KernelFunction:“KernelScale: [] KernelOffset: [] KernelPolynomialOrder: [] NumPrint:[]ν:[]OutlierFraction: [] RemoveDuplicates: [] ShrinkagePeriod:[]解算器:“StandardizeData: 1 SaveSupportVectors: [] VerbosityLevel:[]版本:2金宝app方法:“支持向量机”类型:“分类”gydF4y2Ba

tgydF4y2Ba是一个支持向量机模板。大多数模板对象属性是空的。培训ECOC分类器时,软件将适用的属性设置为默认值。gydF4y2Ba

培训ECOC标识符,并指定班级秩序。gydF4y2Ba

Mdl = fitcecoc (X, Y,gydF4y2Ba“学习者”gydF4y2BatgydF4y2Ba…gydF4y2Ba“类名”gydF4y2Ba,{gydF4y2Ba“setosa”gydF4y2Ba,gydF4y2Ba“多色的”gydF4y2Ba,gydF4y2Ba“virginica”gydF4y2Ba});gydF4y2Ba

MdlgydF4y2Ba是一个gydF4y2BaClassificationECOCgydF4y2Ba分类器。可以使用点符号访问其属性。gydF4y2Ba

旨在gydF4y2BaMdlgydF4y2Ba使用10倍交叉验证。gydF4y2Ba

CVMdl = crossval (Mdl);gydF4y2Ba

CVMdlgydF4y2Ba是一个gydF4y2BaClassificationPartitionedECOCgydF4y2Ba旨在ECOC分类器。gydF4y2Ba

估计广义分类错误。gydF4y2Ba

genError = kfoldLoss (CVMdl)gydF4y2Ba
genError = 0.0400gydF4y2Ba

广义分类误差为4%,这表明ECOC分类器推广相当好。gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

算法gydF4y2Ba

全部展开gydF4y2Ba

选择功能gydF4y2Ba

你可以使用这些替代算法来训练一个多级模型:gydF4y2Ba

引用gydF4y2Ba

[1]Furnkranz,约翰。“循环赛分类”。gydF4y2Ba机器学习研究杂志》上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.”模式识别的字母gydF4y2Ba问题3,卷。30日,2009年,页285 - 297。gydF4y2Ba

扩展功能gydF4y2Ba

介绍了R2014bgydF4y2Ba