主要内容

ClassificationPartitionedLinearECOC

包:classreg.learning.partition
超类:ClassificationPartitionedModel

旨在为多级线性纠错输出编码模型高维数据的分类

描述

ClassificationPartitionedLinearECOC是一组纠错输出编码(ECOC)模型组成的线性分类模型,训练旨在折叠。估计的质量分类交叉验证使用一个或多个“kfold”功能:kfoldPredict,kfoldLoss,kfoldMargin,kfoldEdge

每个“kfold”方法使用模型训练的观测预测out-of-fold观察的反应。例如,假设您旨在使用5折。在这种情况下,软件随机分配每个观测到大约五个大小相同的组。的培训褶皱包含四个组的(也就是说,约4/5的数据)和测试褶皱包含另一组(即约1/5的数据)。在这种情况下,交叉验证所得如下。

  1. 软件培训(存储在第一个模型CVMdl.Trained {1})使用观察过去四组和储备第一组的观测验证。

  2. 软件培训(存储在第二个模型CVMdl.Trained {2})使用观察第一组最后三组。软件保留在第二组观察验证。

  3. 软件收入用在类似的方式是第三,第四,第五模型。

如果验证通过调用kfoldPredict的观测,计算预测使用第一个模型组1,组2第二模式,等等。简而言之,每个观测使用的软件估计响应模型训练没有观察。

请注意

ClassificationPartitionedLinearECOC模型对象不存储预测数据集。

建设

CVMdl = fitcecoc (X, Y,“学习者”,t,名称,值)返回一个旨在,线性ECOC模型时:

  • t“线性”或一个模板对象返回templateLinear

  • 的名字是其中之一“CrossVal”,“CVPartition”,“坚持”,或“KFold”

更多细节,请参阅fitcecoc

属性

全部展开

交叉验证的属性

旨在模型名称,指定为一个特征向量。

例如,“ECOC”指定了一个旨在ECOC模型。

数据类型:字符

旨在折叠,指定为一个正整数。

数据类型:

交叉验证参数值,例如,名称-值对ECOC旨在使用分类器参数值,指定为一个对象。ModelParameters不包含估计参数。

访问的属性ModelParameters使用点符号。

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

数据类型:

数据分区显示软件将数据分为交叉验证折叠,如何指定为一个cvpartition模型。

在交叉验证分类器训练折叠紧凑,指定的单元阵列CompactClassificationECOC模型。训练有素的k细胞,k是折叠的数量。

数据类型:细胞

观察权重模型,旨在使用指定为一个数值向量。WNumObservations元素。

软件可实现重量以便用于培训sum (W, omitnan)1

数据类型:|

指定的模型,观察类标签用于旨在作为一个类别或字符数组,逻辑或数值向量,或单元阵列的特征向量。YNumObservations元素,是相同的数据类型作为输入参数Y你通过了fitcecoc该模型旨在。(软件对字符串数组作为细胞阵列特征向量)。

每一行的Y代表观察到的分类预测的观测数据。

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

ECOC属性

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

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

数据类型:字符

二进制学习者类标签,或指定为一个数字矩阵[]

  • 如果编码矩阵在折叠都是一样的,BinaryY是一个NumObservations——- - - - - -l矩阵,l是二进制学习者的数量(大小(CodingMatrix, 2))。

    的元素BinaryY1,0,或1和值对应于一个二分类任务。此表描述了学习者j分配的观察k二分类对应的值BinaryY (k, j)

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

  • 如果在折叠编码矩阵不同,那么BinaryY是空的([])。

数据类型:

编码为二进制学习者指定随堂作业,或指定为一个数字矩阵[]

  • 如果编码矩阵在折叠都是一样的,CodingMatrix是一个K——- - - - - -l矩阵。K类和数量吗l是二进制学习者的数量。

    的元素CodingMatrix1,0,或1和值对应于一个二分类任务。此表描述了学习者j分配在课堂上观察二分类对应的值CodingMatrix (i, j)

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

  • 如果在折叠编码矩阵不同,那么CodingMatrix是空的([])。获得每个折叠使用的编码矩阵训练有素的财产。例如,CVMdl.Trained {1} .CodingMatrix的编码矩阵的褶皱是旨在ECOC模型CVMdl

数据类型:||int8|int16|int32|int64

其他分类属性

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

数据类型:|

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

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

这个属性是只读的。

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

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

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

数据类型:

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

数据类型:细胞

这个属性是只读的。

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

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

数据类型:

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

数据类型:字符

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

线性分类模型在转换之前,预测分类评分的观察x(行向量)f(x)=xβ+b,在那里βb对应于Mdl.BetaMdl.Bias,分别。

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

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

    Mdl。ScoreTransform = '函数”;

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

  • 对于一个MATLAB®函数,或者您定义一个函数,输入函数处理。

    Mdl。ScoreTransform = @函数;

    函数必须接受一个矩阵的原始分数为每个类,然后返回一个相同大小的矩阵表示为每一个类转换后的分数。

数据类型:字符|function_handle

方法

kfoldEdge 分类边观察不用于培训
kfoldLoss 分类损失的观察中未使用培训
kfoldMargin 分类利润率观察中未使用培训
kfoldPredict 预测观察标签不用于培训

复制语义

价值。学习如何价值类影响复制操作,明白了复制对象

例子

全部折叠

加载NLP数据集。

负载nlpdata

X是一个稀疏矩阵的预测数据,Y是一个分类向量类的标签。

旨在一个多级线性分类模型,该模型可以确定哪些MATLAB®工具箱一个文档的web页面从基于计数在页面上的单词。

rng (1);%的再现性CVMdl = fitcecoc (X, Y,“学习者”,“线性”,“CrossVal”,“上”)
CVMdl = ClassificationPartitionedLinearECOC CrossValidatedModel:“LinearECOC”ResponseName:“Y”NumObservations: 31572 KFold: 10个分区:[1 x1 cvpartition]类名:[通讯dsp是定点…]ScoreTransform:“没有一个”属性,方法

CVMdl是一个ClassificationPartitionedLinearECOC旨在模型。因为fitcecoc实现了10倍交叉验证默认情况下,CVMdl.Trained包含一个向量十10-by-1细胞CompactClassificationECOC模型包含培训ECOC模型组成的二进制的结果,每个折叠的线性分类模型。

估计标签out-of-fold观察和估计泛化误差通过CVMdlkfoldPredictkfoldLoss,分别。

oofLabels = kfoldPredict (CVMdl);通用电气= kfoldLoss (CVMdl)
通用电气(ge) = 0.0958

观察分类错误估计泛化误差约为10%。

提高泛化误差,尝试指定另一个解算器,如LBFGS。改变缺省选项当训练ECOC模型组成的线性分类模型,创建一个线性分类模型模板使用templateLinear,然后通过模板fitcecoc

确定好lasso-penalty强度ECOC模型组成的线性分类模型,使用逻辑回归的学习者,实现5倍交叉验证。

加载NLP数据集。

负载nlpdata

X是一个稀疏矩阵的预测数据,Y是一个分类向量类的标签。

为简单起见,使用标签的别人的观察Y“金宝app模型”,“dsp”,或“通讯”

Y (~ (ismember (Y, {“金宝app模型”,“dsp”,“通讯”})))=“别人”;

创建一组11对数间隔正则化的优势 1 0 - - - - - - 7 通过 1 0 - - - - - - 2

λ= logspace (7 2 11);

创建一个线性分类模型模板,指定使用逻辑回归的学习者,使用套索处罚与优势λ使用SpaRSA,火车,和更低的目标函数的梯度的宽容1 e-8

t = templateLinear (“学习者”,“物流”,“规划求解”,“sparsa”,“正规化”,“套索”,“λ”λ,“GradientTolerance”1 e-8);

旨在模型。提高执行速度,转置预测数据和指定列的观测。

X = X ';rng (10);%的再现性CVMdl = fitcecoc (X, Y,“学习者”t“ObservationsIn”,“列”,“KFold”5);

CVMdl是一个ClassificationPartitionedLinearECOC模型。

解剖CVMdl,每一个模型。

numECOCModels =元素个数(CVMdl.Trained)
numECOCModels = 5
ECOCMdl1 = CVMdl.Trained {1}
ECOCMdl1 = CompactClassificationECOC ResponseName:“Y”类名:[通讯dsp仿真软件别人]ScoreTra金宝appnsform:“没有一个”BinaryLearners:{6×1细胞}CodingMatrix: 4×6双属性,方法
numCLModels =元素个数(ECOCMdl1.BinaryLearners)
numCLModels = 6
CLMdl1 = ECOCMdl1.BinaryLearners {1}
CLMdl1 = ClassificationLinear ResponseName:“Y”类名:[1]ScoreTransform:分对数的β:[34023×11双]偏见:[-0.3169 -0.3169 -0.3168 -0.3168 -0.3168 -0.3167 -0.1725 -0.0805 -0.1762 -0.3450 -0.5174]λ:[1.0000 3.1623 1.0000 3.1623 1.0000 3.1623 e-07 e-07 e-06 e-06 e-05 e-05 1.0000 e-04 3.1623 e-04 1.0000 e 03 0.0032 - 0.0100]学习者:“物流”属性,方法

因为fitcecoc实现5倍交叉验证,CVMdl包含一个5-by-1单元阵列CompactClassificationECOC火车在每个折叠模型软件。的BinaryLearners财产的CompactClassificationECOC模型包含了ClassificationLinear模型。的数量ClassificationLinear模型在每个紧凑ECOC模型取决于不同的标签的数量和编码设计。因为λ是一个序列的正则化的优势,你能想到什么CLMdl111岁的模型,每个正规化的力量在一个λ

了解的模型推广策划5倍的平均分类误差为每个正则化的力量。确定最小化泛化误差的正则化强度在网格中。

ce = kfoldLoss (CVMdl);图;情节(log10(λ)log10 (ce)) [~, minCEIdx] = min (ce);minLambda =λ(minCEIdx);持有情节(log10 (minLambda) log10 (ce (minCEIdx)),“罗”);ylabel (“log_{10} 5倍分类错误”)包含(“log_{10}λ的)传说(MSE的,“最小分类错误”)举行

火车一个ECOC模型组成的线性分类模型使用整个数据集,并指定最小正规化的力量。

t = templateLinear (“学习者”,“物流”,“规划求解”,“sparsa”,“正规化”,“套索”,“λ”minLambda,“GradientTolerance”1 e-8);MdlFinal = fitcecoc (X, Y,“学习者”t“ObservationsIn”,“列”);

为新观测估计标签,通过MdlFinal和新数据预测

介绍了R2016a