主要内容

kfoldEdge

未用于训练的观测数据的分类边缘

描述

例子

e= kfoldEdge (CVMdl返回交叉验证的分类的边缘通过交叉验证,二元,线性分类模型得到CVMdl.也就是说,对于每一次折叠,kfoldEdge估计它在使用所有其他观测值训练时所持有的观测值的分类边缘。

e包含线性分类模型中每个正则化强度的分类边CVMdl

例子

e= kfoldEdge (CVMdl名称,值使用一个或多个指定的其他选项名称,值对参数。例如,指示用于边缘计算的折叠。

输入参数

全部展开

交叉验证,二元,线性分类模型,指定为ClassificationPartitionedLinear模型对象。您可以创建ClassificationPartitionedLinear模型使用fitclinear并指定任何一个交叉验证,名值对参数,例如,CrossVal

为了获得估计,kfoldEdge应用用于交叉验证线性分类模型的相同数据(X而且Y).

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

用于分类评分预测的折叠指数,指定为逗号分隔的对,由“折叠”一个正整数的数字向量。的要素折叠必须从1通过CVMdl。KFold

例子:“折叠”,[1 4 10]

数据类型:|

边缘聚合级别,指定为由逗号分隔的对组成“模式”而且“平均”“个人”

价值 描述
“平均” 返回所有折叠的平均分类边
“个人” 返回每个折叠的分类边

例子:“模式”,“个人”

输出参数

全部展开

旨在分类的边缘,作为数字标量、向量或矩阵返回。

l为交叉验证模型中正则化强度的数目(即,l元素个数(CVMdl.Trained {1} .Lambda)),F为折叠数(存储在CVMdl。KFold).

  • 如果模式“平均”,然后e是1 × -吗l向量。e (j使用正则化强度的交叉验证模型的平均分类优势是否优于所有折叠j

  • 否则,e是一个F——- - - - - -l矩阵。e (j分类边是折边吗使用正则化强度的交叉验证模型j

估计ekfoldEdge使用所创建的数据CVMdl(见X而且Y).

例子

全部展开

加载NLP数据集。

负载nlpdata

X是一个稀疏矩阵的预测数据,和Y是类标签的分类向量。数据中有两个以上的类。

这些模型应该识别网页中的字数是否来自统计和机器学习工具箱™文档。因此,确定与统计和机器学习工具箱™文档网页对应的标签。

Ystats = Y ==“统计数据”

交叉验证二进制线性分类模型,该模型可以识别文档网页中的字数是否来自统计和机器学习工具箱™文档。

rng (1);%用于再现性CVMdl = fitclinear(X,Ystats,“CrossVal”“上”);

CVMdl是一个ClassificationPartitionedLinear模型。默认情况下,该软件实现10倍交叉验证。控件可以更改折叠数“KFold”名称-值对参数。

估计折外边的平均值。

e = kfoldge (cvdl)
E = 8.1243

或者,您可以通过指定名称-值对来获取每条折叠边“模式”,“个人”kfoldEdge

执行特征选择的一种方法是比较k-从多个模型中折叠边缘。仅根据这一准则,边缘最高的分类器就是最好的分类器。

加载NLP数据集。预处理数据,如估计k-Fold交叉验证边

负载nlpdataYstats = Y ==“统计数据”;X = X';

创建以下两个数据集:

  • fullX包含所有预测符。

  • partX包含随机选择的预测因子的1/2。

rng (1);%用于再现性p = size(X,1);%预测因子的数量halfPredIdx = randsample(p,ceil(0.5*p));fullX = X;partX = X(halfPredIdx,:);

交叉验证两个二元线性分类模型:一个使用所有预测因子,一个使用一半预测因子。利用SpaRSA对目标函数进行优化,表明观测值与列相对应。

CVMdl = fitclinear(fullX,Ystats,“CrossVal”“上”“规划求解”“sparsa”...“ObservationsIn”“列”);PCVMdl = fitclinear(partX,Ystats,“CrossVal”“上”“规划求解”“sparsa”...“ObservationsIn”“列”);

CVMdl而且PCVMdlClassificationPartitionedLinear模型。

估计k-每个分类器的褶边。

fullEdge = kfoldge (cvdl)
fullEdge = 16.5629
partEdge = kfoldEdge(PCVMdl)
partEdge = 13.9030

基于k-fold边,使用所有预测因子的分类器是更好的模型。

为了确定使用逻辑回归学习器的线性分类模型的良好套索惩罚强度,比较k褶边。

加载NLP数据集。预处理数据,如估计k-Fold交叉验证边

负载nlpdataYstats = Y ==“统计数据”;X = X';

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

Lambda = logspace(-8,1,11);

使用5次交叉验证交叉验证二元线性分类模型,并使用每种正则化强度。利用SpaRSA对目标函数进行优化。将目标函数的梯度公差降低到1 e-8

rng (10);%用于再现性CVMdl = fitclinear(X,Ystats,“ObservationsIn”“列”“KFold”5,...“学习者”“物流”“规划求解”“sparsa”“正规化”“套索”...“λ”λ,“GradientTolerance”1 e-8)
CVMdl = ClassificationPartitionedLinear CrossValidatedModel: 'Linear' ResponseName: 'Y' NumObservations: 31572 KFold: 5 Partition: [1x1 cvpartition] ClassNames: [0 1] ScoreTransform: 'none'属性,方法

CVMdl是一个ClassificationPartitionedLinear模型。因为fitclinear实现5倍交叉验证,CVMdl包含5ClassificationLinear软件在每次折叠上训练的模型。

估计每个折叠的边缘和正则化强度。

eFolds = kfoldEdge(CVMdl,“模式”“个人”
eFolds =5×110.9958 0.9958 0.9958 0.9958 0.9923 0.9772 0.9231 0.8419 0.8127 0.8127 0.9991 0.9991 0.9991 0.9939 0.9780 0.9181 0.8257 0.8128 0.8128 0.9992 0.9992 0.9992 0.9992 0.9779 0.9103 0.8255 0.8128 0.8128 0.9974 0.9974 0.9974 0.9974 0.9974 0.9931 0.9772 0.9195 0.8486 0.8130 0.9976 0.9976 0.9976 0.9976 0.9976 0.9976 0.9976 0.9976 0.9976 0.9976 0.9976 0.9976 0.9942 0.9782 0.8194 0.8400 0.8127 0.8127

eFolds是一个5 × 11的边矩阵。行对应折叠,列对应正则化强度λ.你可以使用eFolds识别表现不佳的折叠,即异常低边。

估计每个正则化强度下所有折叠的平均边缘。

e = kfoldge (cvdl)
e =1×110.9978 0.9978 0.9978 0.9978 0.9978 0.9935 0.9777 0.9181 0.8364 0.8128 0.8128

通过绘制每个正则化强度的5倍边的平均值来确定模型的泛化程度。确定正则化强度,使网格上的5倍边最大化。

图;情节(log10(λ)log10 (e),“o”) [~, maxEIdx] = max(e);maxLambda = Lambda(maxEIdx);持有情节(log10 (maxLambda) log10 (e (maxEIdx)),“罗”);ylabel ('log_{10} 5折边')包含(“log_{10}λ的)传说(“边缘”的最大优势)举行

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示边,最大边。

的几个值λ产生同样高的边缘。较高的lambda值导致预测变量稀疏性,这是分类器的一个良好品质。

选择恰好在边缘开始减少之前发生的正则化强度。

LambdaFinal = Lambda(5);

使用整个数据集训练一个线性分类模型,并指定正则化强度LambdaFinal

MdlFinal = fitclinear(X,Ystats,“ObservationsIn”“列”...“学习者”“物流”“规划求解”“sparsa”“正规化”“套索”...“λ”, LambdaFinal);

要估计新观测值的标签,请通过MdlFinal新的数据预测

更多关于

全部展开

版本历史

在R2016a中引入

全部展开