主要内容

selectModels

选择由二进制组成的多类ECOC模型子集ClassificationLinear学习者

描述

例子

SubMdl= selectModels (Mdlidx返回训练过的纠错输出码(ECOC)模型的子集ClassificationLinear从一组多类ECOC模型(Mdl)训练使用各种正则化强度。指数(idx)对应的正则化强度Mdl.BinaryLearners {1} .Lambda并指定要返回哪些模型。

SubMdl返回为CompactClassificationECOC模型对象。

例子

全部折叠

选择一个由具有不同正则化强度的线性二元学习者组成的训练过的ECOC模型子集。

加载NLP数据集。

负载nlpdata

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

创建一组11个对数间隔的正则化强度 1 0 - 8 通过 1 0 - 1

λ= logspace (8 1 11);

创建一个指定使用SpaRSA优化目标函数的线性分类模型模板。使用套索惩罚与强度指定λ

t = templateLinear (“规划求解”“sparsa”“正规化”“套索”...“λ”λ);

保留30%的数据用于测试。识别测试样本指数。

rng (1);%的再现性本量利= cvpartition (Y,“坚持”, 0.30);idxTest =测试(cvp);

训练一个由线性分类模型组成的ECOC模型。为了加快执行时间,请调整预测器数据的方向,使各个观察结果对应于列。

X = X ';PMdl = fitcecoc (X, Y,“学习者”t“ObservationsIn”“列”“CVPartition”、本量利);Mdl = PMdl.Trained {1};元素个数(Mdl.BinaryLearners {1} .Lambda)
ans = 11

Mdl是一个CompactClassificationECOC模型对象。因为λ是正则化强度的11维向量,你们能想到吗Mdl作为11个训练模型,每个模型对应一个正则化强度。

估计每个正则化模型的测试样本误分类率。

ce =损失(Mdl X (:, idxTest), Y (idxTest),“ObservationsIn”“列”);

在对数尺度上绘制关于正则化强度的误分类率。

图绘制(log10(λ)log10 (ce),“o”) ylabel (“log_{10}误分类率的)包含(“log_{10}λ的) [~,minCEIdx] = min(ce);minLambda =λ(minCEIdx);持有情节(log10 (minLambda) log10 (ce (minCEIdx)),“罗”);持有

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

数的值λ产生同样小的分类误差值。考虑选择更大的值λ(这仍然会产生良好的分类率),因为它们导致预测变量的稀疏性。

选择四个正则化强度发生在分类错误开始增加的点附近的模型。

idx = 7:10;idx MdlFinal = selectModels (Mdl)
MdlFinal = CompactClassificationECOC ResponseName: 'Y' ClassNames: [comm dsp ecoder fixedpoint…CodingMatrix: [13x78 double]属性,方法
LambdaFinal = MdlFinal.BinaryLearners {1} .Lambda
LambdaFinal =1×40.0002 0.0008 0.0040 0.0200

MdlFinal是一个CompactClassificationECOC模型对象。你可以把它看作是四个训练模型使用的四种正则化优势LambdaFinal

输入参数

全部折叠

由二元线性分类器组成的多类ECOC模型,使用各种正则化强度进行训练,指定为CompactClassificationECOC模型对象。

当创建Mdl,你必须:

  • 使用fitcecoc

  • 指定ClassificationLinear二进制学习者(见学习者).

  • 为每个线性二元学习器指定相同的正则化强度。

虽然Mdl是一个模型对象,如果元素个数(Mdl.BinaryLearners {1} .Lambda)l≥2,然后你可以想到Mdl作为l训练模型。

对应正则化强度的指标,指定为正整数向量。的值idx必须在区间[1,l),l元素个数(Mdl.BinaryLearners {1} .Lambda)

数据类型:|

提示

  • 构建由二元线性分类模型组成的多个预测ECOC模型的一种方法是:

    1. 创建一个线性分类模型模板templateLinear并指定正则化强度的网格λ名称-值对的论点。

    2. 保留一部分数据进行测试。

    3. 训练ECOC模型fitcecoc.方法指定模板学习者名称值对参数并提供训练数据。fitcecoc返回一个CompactClassificationECOC模型对象包含ClassificationLinear二元学习器,但所有二元学习器都包含每个正则化强度的模型。

    4. 为了确定每个正则化模型的质量,将返回的模型对象和保留数据传递给,例如,损失

    5. 确定指标(idx),然后将返回的模型和索引传递给selectModels.这个函数selectModels返回一个CompactClassificationECOC模型对象,但它包含元素个数(idx)正则化模型。

    6. 要预测新数据的类标签,将数据和正则化模型的子集传递给预测

版本历史

介绍了R2016a

Baidu
map