主要内容GyD.F4y2Ba

fitcecocGyD.F4y2Ba

适合多类机型支持向量机或其他分类金宝appGyD.F4y2Ba

描述GyD.F4y2Ba

MdlGyD.F4y2Ba= fitcecoc (GyD.F4y2BaTBL.GyD.F4y2Ba那GyD.F4y2BaResponseVarNameGyD.F4y2Ba)GyD.F4y2Ba返回完整,训练,多款,GyD.F4y2Ba纠错输出码(ECOC)模型GyD.F4y2Ba使用表中的预测器GyD.F4y2BaTBL.GyD.F4y2Ba和类标签GyD.F4y2Batbl.responsevarname.GyD.F4y2Ba.GyD.F4y2BafitcecocGyD.F4y2Ba使用GyD.F4y2BaK.GyD.F4y2Ba(GyD.F4y2BaK.GyD.F4y2Ba- 1)/2二进制支持向量机金宝app(SVM)模型,使用1对1GyD.F4y2Ba编码设计GyD.F4y2Ba, 在哪里GyD.F4y2BaK.GyD.F4y2Ba是唯一的类标签(水平)的数量。GyD.F4y2BaMdlGyD.F4y2Ba是一个GyD.F4y2BaClassificationECOCGyD.F4y2Ba模型。GyD.F4y2Ba

MdlGyD.F4y2Ba= fitcecoc (GyD.F4y2BaTBL.GyD.F4y2Ba那GyD.F4y2Ba公式GyD.F4y2Ba)GyD.F4y2Ba使用表中的预测器返回ECOC模型GyD.F4y2BaTBL.GyD.F4y2Ba以及类标签。GyD.F4y2Ba公式GyD.F4y2Ba是响应的解释模型和预测变量的子集GyD.F4y2BaTBL.GyD.F4y2Ba用于培训。GyD.F4y2Ba

MdlGyD.F4y2Ba= fitcecoc (GyD.F4y2BaTBL.GyD.F4y2Ba那GyD.F4y2BayGyD.F4y2Ba)GyD.F4y2Ba使用表中的预测器返回ECOC模型GyD.F4y2BaTBL.GyD.F4y2Ba以及vector中的类标签GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba

例子GyD.F4y2Ba

MdlGyD.F4y2Ba= fitcecoc (GyD.F4y2BaXGyD.F4y2Ba那GyD.F4y2BayGyD.F4y2Ba)GyD.F4y2Ba使用预测器返回培训的ecoc模型GyD.F4y2BaXGyD.F4y2Ba以及类标签GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba

例子GyD.F4y2Ba

MdlGyD.F4y2Ba= fitcecoc (GyD.F4y2Ba___GyD.F4y2Ba那GyD.F4y2Ba名称,值GyD.F4y2Ba)GyD.F4y2Ba返回带有一个或多个指定的附加选项的ECOC模型GyD.F4y2Ba名称,值GyD.F4y2BaPair参数,使用前面的任何语法。GyD.F4y2Ba

例如,指定不同的二进制学习器、不同的编码设计或交叉验证。的交叉验证是一个很好的实践GyD.F4y2BaKfoldGyD.F4y2Ba名称,值GyD.F4y2Ba对参数。交叉验证的结果决定了模型的泛化程度。GyD.F4y2Ba

[GyD.F4y2BaMdlGyD.F4y2Ba那GyD.F4y2BaHyperParameterOptimationResults.GyD.F4y2Ba) = fitcecoc (GyD.F4y2Ba___GyD.F4y2Ba那GyD.F4y2Ba名称,值GyD.F4y2Ba)GyD.F4y2Ba当您指定也返回超参数优化细节GyD.F4y2BaOptimizeHyperparametersGyD.F4y2Ba名称-值对参数并使用线性或内核二进制学习器。为其他GyD.F4y2Ba学习者GyD.F4y2Ba,GyD.F4y2BaHyperParameterOptimationResults.GyD.F4y2Ba的属性GyD.F4y2BaMdlGyD.F4y2Ba包含结果。GyD.F4y2Ba

例子GyD.F4y2Ba

全部收缩GyD.F4y2Ba

使用支持向量机(SVM)二进制学习者培训多种误差校正输出代码(ECOC)模型。金宝appGyD.F4y2Ba

装载Fisher的Iris数据集。指定预测器数据GyD.F4y2BaXGyD.F4y2Ba和响应数据GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba

负载GyD.F4y2BafisheririsGyD.F4y2BaX =量;y =物种;GyD.F4y2Ba

使用默认选项训练多类ECOC模型。GyD.F4y2Ba

Mdl = fitcecoc (X, Y)GyD.F4y2Ba
MDL = ClassificationECOC ResponseName: 'Y' CategoricalPredictors:[]类名:{ 'setosa' '云芝' '锦葵'} ScoreTransform: '无' BinaryLearners:{3×1细胞} CodingName: 'onevsone' 属性,方法GyD.F4y2Ba

MdlGyD.F4y2Ba是一个GyD.F4y2BaClassificationECOCGyD.F4y2Ba模型。默认情况下,GyD.F4y2BafitcecocGyD.F4y2Ba使用支持向量机二进制学习器和一对一编码设计。您可以访问GyD.F4y2BaMdlGyD.F4y2Ba使用点符号的属性。GyD.F4y2Ba

显示类名和编码设计矩阵。GyD.F4y2Ba

Mdl。CL.一种S.S.的名字S.GyD.F4y2Ba
ans =GyD.F4y2Ba3x1细胞GyD.F4y2Ba{'setosa'} {'versicolor'} {'virginica'}GyD.F4y2Ba
CodingMat = Mdl。CodingMatrixGyD.F4y2Ba
codingmat =GyD.F4y2Ba3×3GyD.F4y2Ba1 1 0 -1 0 1 0 -1 -1GyD.F4y2Ba

三个类的一个与一个编码设计产生了三个二进制学习者。列的列GyD.F4y2BaCodingMatGyD.F4y2Ba对应学习者,行对应班级。类的顺序与在类中的顺序相同GyD.F4y2BaMdl。CL.一种S.S.的名字S.GyD.F4y2Ba.例如,GyD.F4y2BaCodingMat (: 1)GyD.F4y2Ba是GyD.F4y2Ba[1;-1;0]GyD.F4y2Ba表示该软件使用分类为的所有观测值训练第一个支持向量机二值学习器GyD.F4y2Ba'setosa'GyD.F4y2Ba和GyD.F4y2Ba“多色的”GyD.F4y2Ba.因为GyD.F4y2Ba'setosa'GyD.F4y2Ba对应于GyD.F4y2Ba1GyD.F4y2Ba,这是积极的课程;GyD.F4y2Ba“多色的”GyD.F4y2Ba对应于GyD.F4y2Ba1GyD.F4y2Ba,所以这是负类。GyD.F4y2Ba

您可以使用单元格索引和点表示法访问每个二进制学习器。GyD.F4y2Ba

mdl.binarylearners {1}GyD.F4y2Ba第一个二元学习者GyD.F4y2Ba
ANS = CompactClassificationsVM RecordingAme:'Y'类分类:[] ClassNames:[-1 1] ScorEtransform:'none'Beta:[4x1 Double]偏置:1.4492内核参数:[1x1结构]属性,方法GyD.F4y2Ba

计算重新替换分类错误。GyD.F4y2Ba

错误= resubLoss (Mdl)GyD.F4y2Ba
错误= 0.0067GyD.F4y2Ba

训练数据的分类误差很小,但分类器可能是一个过拟合模型。您可以使用交叉验证分类器GyD.F4y2Ba横梁GyD.F4y2Ba并计算交叉验证分类错误。GyD.F4y2Ba

培训由多个二进制线性分类模型组成的ecoc模型。GyD.F4y2Ba

加载NLP数据集。GyD.F4y2Ba

负载GyD.F4y2BanlpdataGyD.F4y2Ba

XGyD.F4y2Ba是预测数据的稀疏矩阵,和GyD.F4y2BayGyD.F4y2Ba是类标签的分类矢量。数据中有两个以上的类。GyD.F4y2Ba

创建一个默认的线性分类模型模板。GyD.F4y2Ba

t = templateLinear ();GyD.F4y2Ba

若要调整默认值,请参阅GyD.F4y2Ba名称-值对的观点GyD.F4y2Ba在GyD.F4y2BatemplateLinearGyD.F4y2Ba页面。GyD.F4y2Ba

训练由多个二元线性分类模型组成的ECOC模型,该模型可以根据文档网页上单词的频率分布来识别产品。为了更快的训练时间,将预测器数据转置,并指定观测值对应于列。GyD.F4y2Ba

X = X ';RNG(1);GyD.F4y2Ba%的再现性GyD.F4y2Bamdl = fitcecoc(x,y,GyD.F4y2Ba'学习者'GyD.F4y2Ba,T,GyD.F4y2Ba'观察'GyD.F4y2Ba那GyD.F4y2Ba“列”GyD.F4y2Ba)GyD.F4y2Ba
Mdl = CompactClassificationECOC ResponseName: 'Y' ClassNames: [1x13 categorical] ScoreTransform: 'none' BinaryLearners: {78x1 cell} CodingMatrix: [13x78 double]属性,方法GyD.F4y2Ba

或者,您可以使用以下方法训练由默认线性分类模型组成的ECOC模型GyD.F4y2Ba“学习者”,“线性”GyD.F4y2Ba.GyD.F4y2Ba

为了节省内存,GyD.F4y2BafitcecocGyD.F4y2Ba返回由线性分类学习者组成的训练过的ECOC模型GyD.F4y2BaCompactClassificationECOCGyD.F4y2Ba模型对象。GyD.F4y2Ba

用支持向量机二值学习器交叉验证ECOC分类器,估计广义分类误差。GyD.F4y2Ba

装载Fisher的Iris数据集。指定预测器数据GyD.F4y2BaXGyD.F4y2Ba和响应数据GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba

负载GyD.F4y2BafisheririsGyD.F4y2BaX =量;y =物种;RNG(1);GyD.F4y2Ba%的再现性GyD.F4y2Ba

创建一个支持向量机模板,并标准化预测器。GyD.F4y2Ba

t = templatesvm(GyD.F4y2Ba“标准化”GyD.F4y2Ba,真的)GyD.F4y2Ba
T =用于分类SVM拟合模板。阿尔法:为0x1双] BoxConstraint:[] CacheSize的:[] CachingMethod: '' ClipAlphas:[] DeltaGradientTolerance:[]小量:[] GapTolerance:[] KKTTolerance:[] IterationLimit:[] KernelFunction: '' KernelScale:[]KernelOffset:[] KernelPolynomialOrder:[] NumPrint:[]女:[] OutlierFraction:[] RemoveDuplicates:[] ShrinkagePeriod:[]求解: '' StandardizeData:1个SaveSupportVectors:金宝app[] VerbosityLevel:[]版本:2所述的方法:“SVM'类型:‘分类’GyD.F4y2Ba

T.GyD.F4y2Ba是一个支持向量机模板。大多数模板对象属性都是空的。在训练ECOC分类器时,软件将适用属性设置为默认值。GyD.F4y2Ba

训练ECOC分类器,并指定类的顺序。GyD.F4y2Ba

mdl = fitcecoc(x,y,GyD.F4y2Ba'学习者'GyD.F4y2Ba,T,GyD.F4y2Ba...GyD.F4y2Ba“类名”GyD.F4y2Ba,{GyD.F4y2Ba'setosa'GyD.F4y2Ba那GyD.F4y2Ba“多色的”GyD.F4y2Ba那GyD.F4y2Ba“virginica”GyD.F4y2Ba});GyD.F4y2Ba

MdlGyD.F4y2Ba是一个GyD.F4y2BaClassificationECOCGyD.F4y2Ba分类器。您可以使用点表示法访问其属性。GyD.F4y2Ba

旨在GyD.F4y2BaMdlGyD.F4y2Ba使用10倍交叉验证。GyD.F4y2Ba

CVMdl = crossval (Mdl);GyD.F4y2Ba

CVMdlGyD.F4y2Ba是一个GyD.F4y2BaClassificationPartitionedECOCGyD.F4y2Ba旨在ECOC分类器。GyD.F4y2Ba

估计广义分类错误。GyD.F4y2Ba

genError = kfoldLoss (CVMdl)GyD.F4y2Ba
genError = 0.0400GyD.F4y2Ba

广义分类误差为4%,表明ECOC分类器具有较好的泛化能力。GyD.F4y2Ba

使用支持向量机二进制学习器训练ECOC分类器。首先预测训练样本标签和类的后验概率。然后预测网格中每个点的最大类别后验概率。可视化结果。GyD.F4y2Ba

装载Fisher的Iris数据集。将花瓣尺寸指定为预测器和物种名称作为响应。GyD.F4y2Ba

负载GyD.F4y2BafisheririsGyD.F4y2BaX = MEAS(:,3:4);y =物种;RNG(1);GyD.F4y2Ba%的再现性GyD.F4y2Ba

创建SVM模板。标准化预测器,并指定高斯内核。GyD.F4y2Ba

t = templatesvm(GyD.F4y2Ba“标准化”GyD.F4y2Ba,真的,GyD.F4y2Ba“KernelFunction”GyD.F4y2Ba那GyD.F4y2Ba“高斯”GyD.F4y2Ba);GyD.F4y2Ba

T.GyD.F4y2Ba是一个支持向量机模板。它的大部分属性都是空的。当软件训练ECOC分类器时,它将适用的属性设置为它们的默认值。GyD.F4y2Ba

使用SVM模板列车ecoc分类器。将分类分数转换为课程后概率(由此返回GyD.F4y2Ba预测GyD.F4y2Ba或GyD.F4y2Ba重新预订GyD.F4y2Ba) 使用GyD.F4y2Ba'fitposterior'GyD.F4y2Ba名称-值对的论点。属性指定类的顺序GyD.F4y2Ba“类名”GyD.F4y2Ba名称-值对的论点。方法在训练期间显示诊断消息GyD.F4y2Ba“详细”GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

mdl = fitcecoc(x,y,GyD.F4y2Ba'学习者'GyD.F4y2Ba,T,GyD.F4y2Ba'fitposterior'GyD.F4y2Ba,真的,GyD.F4y2Ba...GyD.F4y2Ba“类名”GyD.F4y2Ba,{GyD.F4y2Ba'setosa'GyD.F4y2Ba那GyD.F4y2Ba“多色的”GyD.F4y2Ba那GyD.F4y2Ba“virginica”GyD.F4y2Ba},GyD.F4y2Ba...GyD.F4y2Ba“详细”GyD.F4y2Ba2);GyD.F4y2Ba
培训二进制学习者1(SVM),其中3个,50个负和50个阳性观察。负类指数:2个正类指数:1用于学习者1(SVM)的后验概率。培训二元学习者2(SVM),其中3个,50个负和50个阳性观察。负类指数:3个正类指数:1拟合学习者2(SVM)的后验概率。培训二进制学习者3(SVM),其中50个负和50个阳性观察。负类指数:3个正类指数:2学习者3(SVM)的拟合后验概率。GyD.F4y2Ba

MdlGyD.F4y2Ba是一个GyD.F4y2BaClassificationECOCGyD.F4y2Ba模型。同样的SVM模板适用于每个二进制学习,但你可以通过在模板的细胞载体调整每个二进制学习者选择。GyD.F4y2Ba

预测训练样本标签和一流的后验概率。通过使用显示标签和类后验概率的计算期间的诊断消息GyD.F4y2Ba“详细”GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

[标签,~,~,后]= resubPredict (Mdl,GyD.F4y2Ba“详细”GyD.F4y2Ba1);GyD.F4y2Ba
对所有学习者的预测都进行了计算。计算了所有观测的损失。计算后验概率…GyD.F4y2Ba
Mdl。BinaryLossGyD.F4y2Ba
ans =“二次”GyD.F4y2Ba

该软件将观察结果分配给产生最小平均二进制损失的班级。由于所有二进制学习器都在计算后验概率,因此二进制损失函数为GyD.F4y2Ba二次GyD.F4y2Ba.GyD.F4y2Ba

显示一组随机的结果。GyD.F4y2Ba

idx = randsample(大小(X, 1), 10日1);Mdl。CL.一种S.S.的名字S.GyD.F4y2Ba
ans =GyD.F4y2Ba3x1细胞GyD.F4y2Ba{'setosa'} {'versicolor'} {'virginica'}GyD.F4y2Ba
表(Y(IDX),标签(IDX),后退(IDX,:),GyD.F4y2Ba...GyD.F4y2Ba“VariableNames”GyD.F4y2Ba,{GyD.F4y2Ba'truilabel'GyD.F4y2Ba那GyD.F4y2Ba'predlabel'GyD.F4y2Ba那GyD.F4y2Ba'后后'GyD.F4y2Ba})GyD.F4y2Ba
ANS =GyD.F4y2Ba10×3表GyD.F4y2BaTrueLabel PredLabel后  ______________ ______________ ______________________________________ {' virginica’}{‘virginica} 0.0039322 0.003987 0.99208{‘virginica}{‘virginica} 0.017067 0.018263 0.96467{‘virginica}{‘virginica} 0.014948 0.015856 0.9692{“癣”}{“癣”}2.2197 e-14 0.87318 - 0.12682{‘setosa} {' setosa '}0.999 0.029985 {'versicolor'} {'versicolor'}} 0.0085642 0.98259 0.0088487 {'setosa'} {'setosa'} 0.999 0.00024992 0.0088487 {'setosa'} {'setosa'} 0.999 0.00024913 0.00074717GyD.F4y2Ba

列的列GyD.F4y2Ba后GyD.F4y2Ba对应于的类序GyD.F4y2BaMdl。CL.一种S.S.的名字S.GyD.F4y2Ba.GyD.F4y2Ba

在观测的预测器空间中定义一个网格值。预测网格中每个实例的后验概率。GyD.F4y2Ba

xMax = max (X);xMin = min (X);x1Pts = linspace (xMin (1) xMax (1));xMax x2Pts = linspace (xMin (2), (2));[x1Grid, x2Grid] = meshgrid (x1Pts x2Pts);[~, ~, ~, PosteriorRegion] =预测(Mdl, [x1Grid (:), x2Grid (:)));GyD.F4y2Ba

对于网格上的每个坐标,请在所有类别中绘制最大类后概率。GyD.F4y2Ba

contourf (x1Grid x2Grid,GyD.F4y2Ba...GyD.F4y2Ba重塑(max (PosteriorRegion[], 2),大小(x1Grid, 1),大小(x1Grid, 2)));h = colorbar;h.YLabel.String =GyD.F4y2Ba'最大后后'GyD.F4y2Ba;h.YLabel.FontSize = 15;抓住GyD.F4y2Ba在GyD.F4y2Bagh = gscatter (X (: 1), X (:, 2), Y,GyD.F4y2Ba'KRK'GyD.F4y2Ba那GyD.F4y2Ba‘* xd‘GyD.F4y2Ba8);gh(2)。L.一世NE.宽度=2;gh(3)。L.一世NE.宽度= 2; title('虹膜瓣测量和最大后后'GyD.F4y2Ba)包含(GyD.F4y2Ba“花瓣长度(厘米)”GyD.F4y2Ba) ylabel (GyD.F4y2Ba“花瓣宽度(cm)”GyD.F4y2Ba)轴GyD.F4y2Ba紧的GyD.F4y2Ba传奇(gh,GyD.F4y2Ba'地点'GyD.F4y2Ba那GyD.F4y2Ba“西北”GyD.F4y2Ba)举行GyD.F4y2Ba从GyD.F4y2Ba

图中包含一个坐标轴。与标题虹膜花瓣测量和极大验后的轴包含型轮廓,线的4个对象。这些对象代表setosa,云芝,弗吉尼亚。GyD.F4y2Ba

使用a列车一个与所有ecoc分类器GyD.F4y2Ba温博GyD.F4y2Ba决策树与代理分裂的集合。加快培训,箱数字预测器并使用并行计算。啤酒才有效GyD.F4y2BafitcecocGyD.F4y2Ba使用树学习者。训练后,使用10倍交叉验证估计分类误差。请注意,并行计算需要parallel computing Toolbox™。GyD.F4y2Ba

加载样本数据GyD.F4y2Ba

装入并检查GyD.F4y2Ba心律失常GyD.F4y2Ba数据集。GyD.F4y2Ba

负载GyD.F4y2Ba心律失常GyD.F4y2Ba(氮、磷)大小(X) =GyD.F4y2Ba
n = 452GyD.F4y2Ba
p = 279GyD.F4y2Ba
isLabels =独特(Y);nLabels =元素个数(isLabels)GyD.F4y2Ba
nlabels = 13.GyD.F4y2Ba
汇总(分类(Y))GyD.F4y2Ba
值计数百分比1 245 54.20%2 44 9.73%3 15 3.32%4 15 3.32%513 2.88%6 25 5.53%7 3 0.66%8 2 0.44%9 9 1.90%10 50 11.06%14 0.88%11.06%14 0.88%15 5 1.11%16 22 4.87%GyD.F4y2Ba

数据集包含GyD.F4y2Ba279GyD.F4y2Ba预测因素和样本量GyD.F4y2Ba452GyD.F4y2Ba相对较小。在16个不同的标签中,只有13个在响应中表示(GyD.F4y2BayGyD.F4y2Ba).每个标签描述各种心律失常,54.20%的观察员在课堂上GyD.F4y2Ba1GyD.F4y2Ba.GyD.F4y2Ba

训练一个对所有ECOC分类器GyD.F4y2Ba

创建集成模板。您必须指定至少三个参数:方法、学习者的数量和学习者的类型。对于本例,请指定GyD.F4y2Ba'温船'GyD.F4y2Ba对于方法,GyD.F4y2BaOne hundred.GyD.F4y2Ba对于学习者的数量,以及由于缺少观察结果而使用代理拆分的决策树模板。GyD.F4y2Ba

tTree = templateTree(GyD.F4y2Ba“代孕”GyD.F4y2Ba那GyD.F4y2Ba“上”GyD.F4y2Ba);tEnsemble = templateEnsemble (GyD.F4y2Ba'温船'GyD.F4y2Ba, 100年,tTree);GyD.F4y2Ba

tEnsembleGyD.F4y2Ba是模板对象。它的大部分属性都是空的,但是软件在训练期间用它们的默认值填充它们。GyD.F4y2Ba

使用决策树的集合作为二叉学习器来训练一个一对所有的ECOC分类器。为了加快训练速度,可以使用装箱和并行计算。GyD.F4y2Ba

  • 啤酒(GyD.F4y2Ba“NumBins”,50岁GyD.F4y2Ba) -当你有一个大的训练数据集时,你可以通过使用GyD.F4y2Ba“NumBins”GyD.F4y2Ba名称-值对的论点。此参数仅在以下情况下有效GyD.F4y2BafitcecocGyD.F4y2Ba使用树学习者。如果您指定了GyD.F4y2Ba“NumBins”GyD.F4y2Ba值,然后将软件将每个数字预测器置于指定数量的eciprobable bins中,然后在箱上的树木上生长树木指数而不是原始数据。你可以试试GyD.F4y2Ba“NumBins”,50岁GyD.F4y2Ba先改,再改GyD.F4y2Ba“NumBins”GyD.F4y2Ba值取决于准确性和训练速度。GyD.F4y2Ba

  • 并行计算(GyD.F4y2Ba'选项',statset('deverypallellel',true)GyD.F4y2Ba) - 用一个并行计算工具箱许可证,则可以加快通过使用并行计算,它发送每个二进制学习者到池中一个工人的计算。工人的数量取决于您的系统配置。当你对二进制学习者使用决策树时,GyD.F4y2BafitcecocGyD.F4y2Ba使用英特尔®线程构建块(TBB)并行训练双核或以上系统。因此,指定GyD.F4y2Ba“UseParallel”GyD.F4y2Ba选项在单个计算机上没有帮助。在集群上使用此选项。GyD.F4y2Ba

另外,指定先验概率为1/GyD.F4y2BaK.GyD.F4y2Ba, 在哪里GyD.F4y2BaK.GyD.F4y2Ba= 13是不同类的数量。GyD.F4y2Ba

选项= statset(GyD.F4y2Ba“UseParallel”GyD.F4y2Ba,真的);mdl = fitcecoc(x,y,GyD.F4y2Ba“编码”GyD.F4y2Ba那GyD.F4y2Ba'Onevsall'GyD.F4y2Ba那GyD.F4y2Ba'学习者'GyD.F4y2BatEnsemble,GyD.F4y2Ba...GyD.F4y2Ba'事先的'GyD.F4y2Ba那GyD.F4y2Ba“统一”GyD.F4y2Ba那GyD.F4y2Ba“NumBins”GyD.F4y2Ba, 50岁,GyD.F4y2Ba“选项”GyD.F4y2Ba,选项);GyD.F4y2Ba
使用“local”配置文件启动并行池(parpool)…连接到并行池(工作人员数量:6)。GyD.F4y2Ba

MdlGyD.F4y2Ba是一个GyD.F4y2BaClassificationECOCGyD.F4y2Ba模型。GyD.F4y2Ba

交叉验证GyD.F4y2Ba

使用10倍交叉验证交叉验证ECOC分类器。GyD.F4y2Ba

cvmdl = crossval(mdl,GyD.F4y2Ba“选项”GyD.F4y2Ba,选项);GyD.F4y2Ba
警告:一个或多个折叠不包含来自所有组的点。GyD.F4y2Ba

CVMdlGyD.F4y2Ba是一个GyD.F4y2BaClassificationPartitionedECOCGyD.F4y2Ba模型。警告表示某些类未在软件列到至少一个折叠时表示。因此,这些折叠无法预测缺失类的标签。您可以使用小区索引和点表示法检查折叠的结果。例如,通过进入访问第一个折叠的结果GyD.F4y2BaCVMdl。训练有素的{1}GyD.F4y2Ba.GyD.F4y2Ba

使用交叉验证的ECOC分类器来预测验证折叠标签。你可以用GyD.F4y2BaconfusionchartGyD.F4y2Ba.通过更改内部位置属性来移动和调整图表的大小,以确保百分比出现在行摘要中。GyD.F4y2Ba

Ooflabel = kfoldpredict(cvmdl,GyD.F4y2Ba“选项”GyD.F4y2Ba,选项);Confmat = ConfusionChart(Y,Ooflabel,GyD.F4y2Ba'rowsmumary'GyD.F4y2Ba那GyD.F4y2Ba“total-normalized”GyD.F4y2Ba);ConfMat。在NE.rPosition = [0.10 0.12 0.85 0.85];

复制分箱数据GyD.F4y2Ba

通过使用GyD.F4y2Ba毕业生GyD.F4y2Ba训练模型的性质和GyD.F4y2Ba离散化GyD.F4y2Ba函数。GyD.F4y2Ba

X = Mdl.X;GyD.F4y2Ba%预测仪数据GyD.F4y2BaXbinned = 0(大小(X));边缘= Mdl.BinEdges;GyD.F4y2Ba%查找分级预测的指标。GyD.F4y2BaidxNumeric =找到(~ cellfun (@isempty边缘));GyD.F4y2Ba如果GyD.F4y2Baiscolumn(idxNumeric) idxNumeric = idxNumeric';GyD.F4y2Ba结束GyD.F4y2Ba为GyD.F4y2Baj = idxNumeric x = x (:,j);GyD.F4y2Ba如果x是表,%将x转换为数组。GyD.F4y2Ba如果GyD.F4y2BaIstable (x) x = table2array(x);GyD.F4y2Ba结束GyD.F4y2Ba%使用离散函数将x分组到bins中。GyD.F4y2Baxbinned =离散化(x,[无穷;边缘{};正]);Xbinned (:, j) = Xbinned;GyD.F4y2Ba结束GyD.F4y2Ba

xbinned.GyD.F4y2Ba包含用于数字预测器的容器索引,范围从1到容器数量。GyD.F4y2Baxbinned.GyD.F4y2Ba值是GyD.F4y2Ba0.GyD.F4y2Ba对于分类预测器。如果GyD.F4y2BaXGyD.F4y2Ba包含GyD.F4y2Ba南GyD.F4y2Bas,然后相应的GyD.F4y2Baxbinned.GyD.F4y2Ba值是GyD.F4y2Ba南GyD.F4y2Ba年代。GyD.F4y2Ba

自动优化HyperParametersGyD.F4y2BafitcecocGyD.F4y2Ba.GyD.F4y2Ba

加载GyD.F4y2BafisheririsGyD.F4y2Ba数据集。GyD.F4y2Ba

负载GyD.F4y2BafisheririsGyD.F4y2BaX =量;y =物种;GyD.F4y2Ba

找到通过使用自动封路计优化来最小化五倍交叉验证损耗的高参数。为了再现性,设置随机种子并使用GyD.F4y2Ba'预期改善加'GyD.F4y2Ba采集功能。GyD.F4y2Ba

rngGyD.F4y2Ba默认的GyD.F4y2Bamdl = fitcecoc(x,y,GyD.F4y2Ba“OptimizeHyperparameters”GyD.F4y2Ba那GyD.F4y2Ba'汽车'GyD.F4y2Ba那GyD.F4y2Ba...GyD.F4y2Ba“HyperparameterOptimizationOptions”GyD.F4y2Ba结构(GyD.F4y2Ba'获取功能名称'GyD.F4y2Ba那GyD.F4y2Ba...GyD.F4y2Ba'预期改善加'GyD.F4y2Ba)))GyD.F4y2Ba
| ==================================================================================================================== ||磨练|eval |目标|目标|Bestsofar |Bestsofar |编码|boxconstraint | KernelScale | | | result | | runtime | (observed) | (estim.) | | | | |====================================================================================================================| | 1 | Best | 0.10667 | 0.98396 | 0.10667 | 0.10667 | onevsone | 5.6939 | 200.36 | | 2 | Best | 0.066667 | 3.6612 | 0.066667 | 0.068735 | onevsone | 94.849 | 0.0032549 | | 3 | Accept | 0.08 | 0.4554 | 0.066667 | 0.066837 | onevsall | 0.01378 | 0.076021 | | 4 | Accept | 0.08 | 0.24984 | 0.066667 | 0.066676 | onevsall | 889 | 38.798 | | 5 | Best | 0.04 | 0.52661 | 0.04 | 0.040502 | onevsone | 0.021561 | 0.01569 | | 6 | Accept | 0.04 | 0.32599 | 0.04 | 0.039999 | onevsone | 0.48338 | 0.02941 | | 7 | Accept | 0.04 | 0.33704 | 0.04 | 0.039989 | onevsone | 305.45 | 0.18647 | | 8 | Best | 0.026667 | 0.36611 | 0.026667 | 0.026674 | onevsone | 0.0010168 | 0.10757 | | 9 | Accept | 0.086667 | 0.24971 | 0.026667 | 0.026669 | onevsone | 0.001007 | 0.3275 | | 10 | Accept | 0.046667 | 1.3398 | 0.026667 | 0.026673 | onevsone | 736.18 | 0.071026 | | 11 | Accept | 0.04 | 0.35546 | 0.026667 | 0.035679 | onevsone | 35.928 | 0.13079 | | 12 | Accept | 0.033333 | 0.31774 | 0.026667 | 0.030065 | onevsone | 0.0017593 | 0.11245 | | 13 | Accept | 0.026667 | 0.26496 | 0.026667 | 0.026544 | onevsone | 0.0011306 | 0.062222 | | 14 | Accept | 0.026667 | 0.34133 | 0.026667 | 0.026089 | onevsone | 0.0011124 | 0.079161 | | 15 | Accept | 0.026667 | 0.24303 | 0.026667 | 0.026184 | onevsone | 0.0014395 | 0.073096 | | 16 | Best | 0.02 | 0.207 | 0.02 | 0.021144 | onevsone | 0.0010299 | 0.035054 | | 17 | Accept | 0.02 | 0.33381 | 0.02 | 0.020431 | onevsone | 0.0010379 | 0.03138 | | 18 | Accept | 0.033333 | 0.25211 | 0.02 | 0.024292 | onevsone | 0.0011889 | 0.02915 | | 19 | Accept | 0.02 | 0.31439 | 0.02 | 0.022327 | onevsone | 0.0011336 | 0.042445 | | 20 | Best | 0.013333 | 0.32092 | 0.013333 | 0.020178 | onevsone | 0.0010854 | 0.048345 | |====================================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | Coding | BoxConstraint| KernelScale | | | result | | runtime | (observed) | (estim.) | | | | |====================================================================================================================| | 21 | Accept | 0.5 | 13.143 | 0.013333 | 0.020718 | onevsall | 689.42 | 0.001007 | | 22 | Accept | 0.33333 | 0.33577 | 0.013333 | 0.018299 | onevsall | 0.0011091 | 1.2155 | | 23 | Accept | 0.33333 | 0.38918 | 0.013333 | 0.017851 | onevsall | 529.11 | 372.18 | | 24 | Accept | 0.04 | 0.20733 | 0.013333 | 0.017879 | onevsone | 853.41 | 22.141 | | 25 | Accept | 0.046667 | 0.21844 | 0.013333 | 0.018114 | onevsone | 744.03 | 6.3339 | | 26 | Accept | 0.10667 | 0.31981 | 0.013333 | 0.018226 | onevsone | 0.0010775 | 999.54 | | 27 | Accept | 0.04 | 0.26125 | 0.013333 | 0.018557 | onevsone | 0.0020893 | 0.001005 | | 28 | Accept | 0.10667 | 0.30651 | 0.013333 | 0.019634 | onevsone | 0.0010666 | 12.404 | | 29 | Accept | 0.32 | 12.703 | 0.013333 | 0.018352 | onevsall | 951.6 | 0.027202 | | 30 | Accept | 0.04 | 0.24213 | 0.013333 | 0.018597 | onevsone | 936.87 | 1.7813 |

图中包含一个坐标轴。标题为“最小目标vs.函数计算数”的轴包含2个类型为line的对象。这些对象代表最小观测目标、最小估计目标。GyD.F4y2Ba

__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:62.709秒总目标函数计算时间:39.5724最佳观测可行点:编码框约束KernelScale ________ _____________ ___________ onevsone 0.0010854 0.048345观测目标函数值= 0.013333估计目标函数值= 0.018594函数计算时间= 0.32092最佳估计可行点(根据模型):编码框约束KernelScale ________ _____________ ___________ onevsone 0.0011336 0.042445估计的目标函数值= 0.018597估计的函数计算时间= 0.2867GyD.F4y2Ba
mdl = classificationecoc racitchename:'y'pationoricalpricictors:[] classnames:{'setosa''versicolor''virginica'} scoreTransform:'none'binarylearners:{3x1 cell} codingname:'Onevsone'HyperParetErtimizationResults:[1x1贝叶斯optimization]属性,方法GyD.F4y2Ba

创建两个在高数据上培训的多种多组ECOC型号。为另一个模型和内核二进制学习者使用线性二进制学习者。比较两种模型的重新提交分类错误。GyD.F4y2Ba

一般而言,您可以通过使用执行多款数据的高数据分类GyD.F4y2BafitcecocGyD.F4y2Ba用线性或核二进制学习器。当你使用GyD.F4y2BafitcecocGyD.F4y2Ba要在高数组上训练模型,你不能直接使用SVM二进制学习器。但是,您可以使用使用svm的线性或内核二进制分类模型。GyD.F4y2Ba

当您在高数组上执行计算时,MATLAB®使用一个并行池(如果您有parallel Computing Toolbox™,则默认)或本地MATLAB会话。如果您希望在拥有Parallel Computing Toolbox时使用本地MATLAB会话运行该示例,则可以通过使用GyD.F4y2BamapreduceGyD.F4y2Ba函数。GyD.F4y2Ba

创建引用包含Fisher虹膜数据集的文件夹的数据存储。指定GyD.F4y2Ba“NA”GyD.F4y2Ba值作为缺少数据的值GyD.F4y2Ba数据存储GyD.F4y2Ba取代他们GyD.F4y2Ba南GyD.F4y2Ba值。创建预测器和响应数据的高版本。GyD.F4y2Ba

ds =数据存储(GyD.F4y2Ba'fisheriris.csv'GyD.F4y2Ba那GyD.F4y2Ba“TreatAsMissing”GyD.F4y2Ba那GyD.F4y2Ba“NA”GyD.F4y2Ba);t =高(ds);GyD.F4y2Ba
使用“local”配置文件启动并行池(parpool)…连接到并行池(工作人员数量:6)。GyD.F4y2Ba
X = [t.SepalLength t.SepalWidth t.PetalLength t.PetalWidth];Y = t.Species;GyD.F4y2Ba

标准化预测数据。GyD.F4y2Ba

Z = zscore (X);GyD.F4y2Ba

火车使用高数据和线性二进制学习者的多种多组ECOC模型。默认情况下,当您将高阵列传递到GyD.F4y2BafitcecocGyD.F4y2Ba,软件培训使用SVM的线性二进制学习者。因为响应数据只包含三个唯一类,所以将编码方案从一个与所有(默认值)更改为毫无(默认值)(在您使用内存数据时是默认值)。GyD.F4y2Ba

为了再现性,使用。设置随机数生成器的种子GyD.F4y2BarngGyD.F4y2Ba和GyD.F4y2BatallrngGyD.F4y2Ba.结果可能会根据高数组的工作人员数量和执行环境而有所不同。有关详细信息,请参阅GyD.F4y2Ba控制代码运行的位置GyD.F4y2Ba.GyD.F4y2Ba

rng (GyD.F4y2Ba'默认'GyD.F4y2Ba) tallrng (GyD.F4y2Ba'默认'GyD.F4y2Ba) mdlLinear = fitcecoc(Z,Y,GyD.F4y2Ba“编码”GyD.F4y2Ba那GyD.F4y2Ba“onevsone”GyD.F4y2Ba)GyD.F4y2Ba
训练二元学习者1(线性)3。训练二元学习者2(线性)3。训练二元学习者3(线性)的3。GyD.F4y2Ba
mdlLinear = CompactClassificationECOC ResponseName: 'Y' ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' BinaryLearners: {3×1 cell} CodingMatrix: [3×3 double]属性,方法GyD.F4y2Ba

mdlLinearGyD.F4y2Ba是一个GyD.F4y2BaCompactClassificationECOCGyD.F4y2Ba模型由三个二元学习者组成。GyD.F4y2Ba

训练一个使用高数据和内核二进制学习器的多类ECOC模型。首先,创建一个GyD.F4y2BaTemplateKernel.GyD.F4y2Ba对象以指定内核二进制学习者的性能;特别是,增加扩展的维数,以GyD.F4y2Ba 2GyD.F4y2Ba 1GyD.F4y2Ba 6.GyD.F4y2Ba .GyD.F4y2Ba

tKernel = templateKernel (GyD.F4y2Ba“NumExpansionDimensions”GyD.F4y2Ba2 ^ 16)GyD.F4y2Ba
tKernel =适合Kernel分类的模板。betaterance: [] BlockSize: [] BoxConstraint: [] Epsilon: [] NumExpansionDimensions: 65536 GradientTolerance: [] HessianHistorySize: [] IterationLimit: [] KernelScale: [] Lambda: [] Learner: 'svm' LossFunction: [] Stream: [] VerbosityLevel: [] Version: 1 Method: 'Kernel' Type: 'classification'GyD.F4y2Ba

默认情况下,内核二进制学习器使用支持向量机。GyD.F4y2Ba

通过GyD.F4y2BaTemplateKernel.GyD.F4y2Ba对象GyD.F4y2BafitcecocGyD.F4y2Ba然后把编码改成一对一。GyD.F4y2Ba

mdlKernel = fitcecoc (Z, Y,GyD.F4y2Ba'学习者'GyD.F4y2BatKernel,GyD.F4y2Ba“编码”GyD.F4y2Ba那GyD.F4y2Ba“onevsone”GyD.F4y2Ba)GyD.F4y2Ba
培训二进制学习者1(内核)。培训二进制学习者2(内核)的3.培训二进制学习者3(内核)中的3个。GyD.F4y2Ba
mdlkernel = compactClassificyecoc racitchename:'y'classnames:{'setosa''versicolor''virginica'} scoreTransform:'无'BinaryLearners:{3×1个单元} CodingMatrix:[3×3双]属性,方法GyD.F4y2Ba

mdlKernelGyD.F4y2Ba也是A.GyD.F4y2BaCompactClassificationECOCGyD.F4y2Ba模型由三个二元学习者组成。GyD.F4y2Ba

比较两种模型的重新提交分类错误。GyD.F4y2Ba

errorlinear =收集(丢失(mdllinear,z,y)))GyD.F4y2Ba
使用Parallel Pool 'local'计算tall表达式GyD.F4y2Ba
errorlinear = 0.0333.GyD.F4y2Ba
errorKernel =收集(损失(mdlKernel, Z, Y))GyD.F4y2Ba
评估使用并行池“本地”高表达: - 的1遍1:在15秒评价完成在16秒完成GyD.F4y2Ba
errorkernel = 0.0067.GyD.F4y2Ba

mdlKernelGyD.F4y2Ba误分类训练数据的百分比小于GyD.F4y2BamdlLinearGyD.F4y2Ba.GyD.F4y2Ba

输入参数GyD.F4y2Ba

全部收缩GyD.F4y2Ba

样本数据,指定为表。每一行的GyD.F4y2BaTBL.GyD.F4y2Ba对应一个观测值,每列对应一个预测值。可选地,GyD.F4y2BaTBL.GyD.F4y2Ba可以为响应变量包含一个额外的列。不接受多列变量和字符向量的单元格数组之外的单元格数组。GyD.F4y2Ba

如果GyD.F4y2BaTBL.GyD.F4y2Ba包含响应变量,并且您希望使用所有剩余的变量GyD.F4y2BaTBL.GyD.F4y2Ba作为预测器,然后使用GyD.F4y2BaResponseVarNameGyD.F4y2Ba.GyD.F4y2Ba

如果GyD.F4y2BaTBL.GyD.F4y2Ba包含响应变量,并且只想仅使用剩余变量的子集GyD.F4y2BaTBL.GyD.F4y2Ba作为预测器,指定公式使用GyD.F4y2Ba公式GyD.F4y2Ba.GyD.F4y2Ba

如果GyD.F4y2BaTBL.GyD.F4y2Ba不包含响应变量,使用响应变量使用GyD.F4y2BayGyD.F4y2Ba.响应变量的长度和数量GyD.F4y2BaTBL.GyD.F4y2Ba行必须是相等的。GyD.F4y2Ba

数据类型:GyD.F4y2Ba表格GyD.F4y2Ba

中的响应变量名,指定为变量名GyD.F4y2BaTBL.GyD.F4y2Ba.GyD.F4y2Ba

您必须指定GyD.F4y2BaResponseVarNameGyD.F4y2Ba作为字符向量或字符串标量。例如,如果响应变量GyD.F4y2BayGyD.F4y2Ba存储为GyD.F4y2Batbl.y.GyD.F4y2Ba,则指定为GyD.F4y2Ba“Y”GyD.F4y2Ba.否则,软件将对所有列进行处理GyD.F4y2BaTBL.GyD.F4y2Ba, 包含GyD.F4y2BayGyD.F4y2Ba,作为训练模型时的预测器。GyD.F4y2Ba

response变量必须是一个分类数组、字符数组或字符串数组;逻辑或数字向量;或者字符向量的单元格数组。如果GyD.F4y2BayGyD.F4y2Ba是字符数组,则响应变量的每个元素必须对应于数组的一行。GyD.F4y2Ba

方法指定类的顺序是一种好的实践GyD.F4y2BaClassnames.GyD.F4y2Ba名称值参数。GyD.F4y2Ba

数据类型:GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba

响应变量的解释模型和预测变量的子集,指定为表单中的字符向量或字符串标量GyD.F4y2Ba“Y ~ x1 + x2 + x3”GyD.F4y2Ba.在这种形式,GyD.F4y2BayGyD.F4y2Ba表示响应变量,和GyD.F4y2Bax1GyD.F4y2Ba那GyD.F4y2Bax2GyD.F4y2Ba,GyD.F4y2Bax3GyD.F4y2Ba代表预测变量。GyD.F4y2Ba

中指定变量的子集GyD.F4y2BaTBL.GyD.F4y2Ba作为培训模型的预测器,使用公式。如果指定公式,则软件不使用任何变量GyD.F4y2BaTBL.GyD.F4y2Ba没有出现在GyD.F4y2Ba公式GyD.F4y2Ba.GyD.F4y2Ba

公式中的变量名必须是其中的两个变量名GyD.F4y2BaTBL.GyD.F4y2Ba(GyD.F4y2Batbl.properties.variablenames.GyD.F4y2Ba)和有效的matlabGyD.F4y2Ba®GyD.F4y2Ba标识符。您可以验证变量名GyD.F4y2BaTBL.GyD.F4y2Ba通过使用GyD.F4y2BaisvarnameGyD.F4y2Ba函数。如果变量名无效,则可以使用GyD.F4y2Bamatlab.lang.makevalidname.GyD.F4y2Ba函数。GyD.F4y2Ba

数据类型:GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba

ECOC模型训练到的类标签,指定为类别、字符或字符串数组、逻辑或数字向量,或字符向量的单元格数组。GyD.F4y2Ba

如果GyD.F4y2BayGyD.F4y2Ba是字符数组,则每个元素必须与数组的一行相对应。GyD.F4y2Ba

长度GyD.F4y2BayGyD.F4y2Ba和行的数量GyD.F4y2BaTBL.GyD.F4y2Ba或GyD.F4y2BaXGyD.F4y2Ba必须是平等的。GyD.F4y2Ba

属性指定类的顺序是一种良好的实践GyD.F4y2BaClassnames.GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

数据类型:GyD.F4y2Ba分类GyD.F4y2Ba|GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba|GyD.F4y2Ba逻辑GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba细胞GyD.F4y2Ba

预测数据,指定为完整或稀疏矩阵。GyD.F4y2Ba

长度GyD.F4y2BayGyD.F4y2Ba观察的次数GyD.F4y2BaXGyD.F4y2Ba必须是平等的。GyD.F4y2Ba

以它们的外观顺序指定预测器的名称GyD.F4y2BaXGyD.F4y2Ba,可以使用GyD.F4y2BaPredictorNamesGyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

请注意GyD.F4y2Ba

  • 对于线性分类学习者,如果你定位GyD.F4y2BaXGyD.F4y2Ba这样观察结果对应列并指定GyD.F4y2Ba“ObservationsIn”、“列”GyD.F4y2Ba,则可以显著减少优化执行时间。GyD.F4y2Ba

  • 对于所有其他学习者,东方GyD.F4y2BaXGyD.F4y2Ba所以观察值对应行。GyD.F4y2Ba

  • fitcecocGyD.F4y2Ba金宝app仅支持稀疏矩阵用于训练线性分类模型。GyD.F4y2Ba

数据类型:GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba

请注意GyD.F4y2Ba

该软件将GyD.F4y2Ba南GyD.F4y2Ba,空字符向量(GyD.F4y2Ba''GyD.F4y2Ba),空字符串(GyD.F4y2Ba""GyD.F4y2Ba),GyD.F4y2Ba<缺失>GyD.F4y2Ba,GyD.F4y2Ba<定义>GyD.F4y2Ba元素作为缺失的数据。该软件删除的行GyD.F4y2BaXGyD.F4y2Ba对应于缺失的值GyD.F4y2BayGyD.F4y2Ba.但是,对中缺失值的处理GyD.F4y2BaXGyD.F4y2Ba在二元学习者中有所不同。有关详细信息,请参见针对二进制学习者的培训函数:GyD.F4y2Bafitcdiscr.GyD.F4y2Ba那GyD.F4y2BafitckernelGyD.F4y2Ba那GyD.F4y2BafitcknnGyD.F4y2Ba那GyD.F4y2BafitclinearGyD.F4y2Ba那GyD.F4y2BafitcnbGyD.F4y2Ba那GyD.F4y2Bafitcsvm.GyD.F4y2Ba那GyD.F4y2BafitctreeGyD.F4y2Ba,或GyD.F4y2BafitcensembleGyD.F4y2Ba.去除观察减少了有效训练或交叉验证的样品量。GyD.F4y2Ba

名称-值对的观点GyD.F4y2Ba

指定可选的逗号分离对GyD.F4y2Ba名称,值GyD.F4y2Ba参数。GyD.F4y2Ba的名字GyD.F4y2Ba参数名和GyD.F4y2Ba价值GyD.F4y2Ba为对应值。GyD.F4y2Ba的名字GyD.F4y2Ba必须出现在引号内。可以以任意顺序指定多个名称和值对参数GyD.F4y2BaName1, Value1,…,的家GyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba“学习者”,“树”、“编码”,“onevsone”、“CrossVal”,“上”GyD.F4y2Ba指定对所有二进制学习者使用决策树,采用一对一编码设计,并实现10次交叉验证。GyD.F4y2Ba

请注意GyD.F4y2Ba

的参数不能同时使用任何交叉验证的名称-值对参数GyD.F4y2Ba“OptimizeHyperparameters”GyD.F4y2Ba名称-值对的论点。您可以修改交叉验证GyD.F4y2Ba“OptimizeHyperparameters”GyD.F4y2Ba只有使用GyD.F4y2Ba“HyperparameterOptimizationOptions”GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

ECOC分类器的选择GyD.F4y2Ba

全部收缩GyD.F4y2Ba

编码设计名称,指定为逗号分隔对,由GyD.F4y2Ba“编码”GyD.F4y2Ba和该表中的数字矩阵或值。GyD.F4y2Ba

价值GyD.F4y2Ba 二元学习者人数GyD.F4y2Ba 描述GyD.F4y2Ba
“allpairs”GyD.F4y2Ba和GyD.F4y2Ba“onevsone”GyD.F4y2Ba K.GyD.F4y2Ba(GyD.F4y2BaK.GyD.F4y2Ba- 1) / 2GyD.F4y2Ba 对于每个二进制学习者,一个类是积极的,另一个是消极的,软件忽略了其余的。该设计排除了类对分配的所有组合。GyD.F4y2Ba
“binarycomplete”GyD.F4y2Ba 2GyD.F4y2Ba (GyD.F4y2Ba K.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba 这种设计将类划分为所有的二进制组合,并且不忽略任何类。对于每个二进制学习者,所有类分配都是GyD.F4y2Ba-1GyD.F4y2Ba和GyD.F4y2Ba1GyD.F4y2Ba在任务中至少有一个积极和负数。GyD.F4y2Ba
'denserandom'GyD.F4y2Ba 随机,但大约10个日志GyD.F4y2Ba2GyD.F4y2BaK.GyD.F4y2Ba 对于每个二进制学习者,软件将类分配为正或负类,每种类型中的至少一个。有关更多详细信息,请参阅GyD.F4y2Ba随机编码设计矩阵GyD.F4y2Ba.GyD.F4y2Ba
'Onevsall'GyD.F4y2Ba K.GyD.F4y2Ba 对于每个二元学习者来说,有一类是正面的,其余的是负面的。这个设计用尽了积极的课堂作业的所有组合。GyD.F4y2Ba
“顺序”GyD.F4y2Ba K.GyD.F4y2Ba- 1GyD.F4y2Ba 对于第一个二元学习者,第一堂课是负的,其余的是正的。对于第二个二元学习者,前两个类是否定的,其余的是肯定的,以此类推。GyD.F4y2Ba
'sparserandom'GyD.F4y2Ba 随机,但大约15个日志GyD.F4y2Ba2GyD.F4y2BaK.GyD.F4y2Ba 对于每个二进制学习者,软件随机将类别分配为正或负,概率为0.25,并忽略概率0.5的类。有关更多详细信息,请参阅GyD.F4y2Ba随机编码设计矩阵GyD.F4y2Ba.GyD.F4y2Ba
“ternarycomplete”GyD.F4y2Ba (GyD.F4y2Ba 3.GyD.F4y2Ba K.GyD.F4y2Ba −GyD.F4y2Ba 2GyD.F4y2Ba (GyD.F4y2Ba K.GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba /GyD.F4y2Ba 2GyD.F4y2Ba 此设计将类分为所有三元组合。所有班级任务都是GyD.F4y2Ba0.GyD.F4y2Ba那GyD.F4y2Ba-1GyD.F4y2Ba,GyD.F4y2Ba1GyD.F4y2Ba作业中至少有一节是积极的,一节是消极的。GyD.F4y2Ba

您还可以使用自定义编码矩阵指定编码设计。自定义编码矩阵为GyD.F4y2BaK.GyD.F4y2Ba-经过-GyD.F4y2BaL.GyD.F4y2Ba矩阵。每行对应于类,每列对应于二进制学习者。类顺序(行)对应于订单GyD.F4y2BaClassnames.GyD.F4y2Ba.按照以下指导方针来编写矩阵:GyD.F4y2Ba

  • 自定义编码矩阵的每个元素都必须是GyD.F4y2Ba-1GyD.F4y2Ba那GyD.F4y2Ba0.GyD.F4y2Ba,或GyD.F4y2Ba1GyD.F4y2Ba,该值必须对应于二分类赋值。这个表格描述了GyD.F4y2Ba编码(i, j)GyD.F4y2Ba,也就是说,学习者的课程GyD.F4y2BajGyD.F4y2Ba指定在课堂上进行观察GyD.F4y2Ba一世GyD.F4y2Ba.GyD.F4y2Ba

    价值GyD.F4y2Ba 两个类的任务GyD.F4y2Ba
    1GyD.F4y2Ba 学习者GyD.F4y2BajGyD.F4y2Ba在课堂上分配观察GyD.F4y2Ba一世GyD.F4y2Ba到一个负面的课程。GyD.F4y2Ba
    0.GyD.F4y2Ba 在培训之前,学习者GyD.F4y2BajGyD.F4y2Ba删除类中的观察值GyD.F4y2Ba一世GyD.F4y2Ba从数据集。GyD.F4y2Ba
    1GyD.F4y2Ba 学习者GyD.F4y2BajGyD.F4y2Ba在课堂上分配观察GyD.F4y2Ba一世GyD.F4y2Ba一个积极的班级。GyD.F4y2Ba

  • 每一列必须至少包含一个GyD.F4y2Ba-1GyD.F4y2Ba或GyD.F4y2Ba1GyD.F4y2Ba.GyD.F4y2Ba

  • 对于所有列索引GyD.F4y2Ba一世GyD.F4y2Ba那GyD.F4y2BajGyD.F4y2Ba这样GyD.F4y2Ba一世GyD.F4y2Ba≠GyD.F4y2BajGyD.F4y2Ba那GyD.F4y2Ba编码(:,我)GyD.F4y2Ba不能等于GyD.F4y2Ba编码(:,j)GyD.F4y2Ba和GyD.F4y2Ba编码(:,我)GyD.F4y2Ba不能等于GyD.F4y2Ba- 编码(:,j)GyD.F4y2Ba.GyD.F4y2Ba

  • 自定义编码矩阵的所有行必须是不同的。GyD.F4y2Ba

有关自定义编码设计矩阵的形式的更多详细信息,请参阅GyD.F4y2Ba自定义编码设计矩阵GyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba'编码','ternarycomplete'GyD.F4y2Ba

数据类型:GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Baint16GyD.F4y2Ba|GyD.F4y2BaINT32.GyD.F4y2Ba|GyD.F4y2BaINT64.GyD.F4y2Ba|GyD.F4y2BaINT8.GyD.F4y2Ba

指示是否将分数转换为后验概率的标志,指定为由…组成的逗号分隔对GyD.F4y2Ba'fitposterior'GyD.F4y2Ba和一个GyD.F4y2Ba真的GyD.F4y2Ba(GyD.F4y2Ba1GyD.F4y2Ba)或GyD.F4y2Ba假GyD.F4y2Ba(GyD.F4y2Ba0.GyD.F4y2Ba).GyD.F4y2Ba

如果GyD.F4y2BaFitPosteriorGyD.F4y2Ba是GyD.F4y2Ba真的GyD.F4y2Ba,然后软件将二值学习者分类分数转换为后验概率。你可以通过使用GyD.F4y2BaKfoldpredictGyD.F4y2Ba那GyD.F4y2Ba预测GyD.F4y2Ba,或GyD.F4y2Ba重新预订GyD.F4y2Ba.GyD.F4y2Ba

fitcecocGyD.F4y2Ba不支持拟合后验概率金宝app:GyD.F4y2Ba

  • 整体方法是GyD.F4y2BaAdaBoostM2GyD.F4y2Ba那GyD.F4y2BaLPBoostGyD.F4y2Ba那GyD.F4y2BaRUSBoostGyD.F4y2Ba那GyD.F4y2BaRobustBoostGyD.F4y2Ba,或GyD.F4y2Ba截止船GyD.F4y2Ba.GyD.F4y2Ba

  • 二元学习者(GyD.F4y2Ba学习者GyD.F4y2Ba)是实现SVM的线性或内核分类模型。要获得线性或内核分类模型的后验概率,请实现逻辑回归。GyD.F4y2Ba

例子:GyD.F4y2Ba'fitposterior',真实GyD.F4y2Ba

数据类型:GyD.F4y2Ba逻辑GyD.F4y2Ba

二元学习器模板,指定为逗号分隔对,由GyD.F4y2Ba'学习者'GyD.F4y2Ba以及字符向量、字符串标量、模板对象或模板对象的单元格向量。具体来说,您可以指定二进制分类器,如SVM,以及使用的集成GyD.F4y2Ba温博GyD.F4y2Ba那GyD.F4y2BaLogitboost.GyD.F4y2Ba,GyD.F4y2BaRobustBoostGyD.F4y2Ba,解决多字母问题。然而,GyD.F4y2BafitcecocGyD.F4y2Ba还支持多种金宝app单型模型作为二进制分类器。GyD.F4y2Ba

  • 如果GyD.F4y2Ba学习者GyD.F4y2Ba是字符向量或字符串标量,则软件使用指定算法的默认值训练每个二进制学习器。该表总结了现有的算法。GyD.F4y2Ba

    价值GyD.F4y2Ba 描述GyD.F4y2Ba
    “判别”GyD.F4y2Ba 判别分析。有关默认选项,请参见GyD.F4y2Ba模板异教徒GyD.F4y2Ba.GyD.F4y2Ba
    '核心'GyD.F4y2Ba 内核的分类模型。有关默认选项,请参见GyD.F4y2BaTemplateKernel.GyD.F4y2Ba.GyD.F4y2Ba
    'knn'GyD.F4y2Ba K.GyD.F4y2Ba最近的邻居。有关默认选项,请参见GyD.F4y2Batemplateknn.GyD.F4y2Ba.GyD.F4y2Ba
    “线性”GyD.F4y2Ba 线性分类模型。有关默认选项,请参见GyD.F4y2BatemplateLinearGyD.F4y2Ba.GyD.F4y2Ba
    '天真宝贝'GyD.F4y2Ba 朴素贝叶斯。有关默认选项,请参见GyD.F4y2BatemplateNaiveBayesGyD.F4y2Ba.GyD.F4y2Ba
    “支持向量机”GyD.F4y2Ba 支持向量机。有关默认选项,请参见GyD.F4y2BatemplateSVMGyD.F4y2Ba.GyD.F4y2Ba
    “树”GyD.F4y2Ba 分类树。有关默认选项,请参见GyD.F4y2BatemplateTreeGyD.F4y2Ba.GyD.F4y2Ba

  • 如果GyD.F4y2Ba学习者GyD.F4y2Ba是模板对象,然后是每个二进制学习者培训根据所存储的选项。您可以使用以下内容创建模板对象:GyD.F4y2Ba

  • 如果GyD.F4y2Ba学习者GyD.F4y2Ba是模板对象的单元格向量,则:GyD.F4y2Ba

    • 细胞GyD.F4y2BajGyD.F4y2Ba对应于二元学习者GyD.F4y2BajGyD.F4y2Ba(换句话说,就是列GyD.F4y2BajGyD.F4y2Ba的编码设计矩阵),细胞向量必须有长度GyD.F4y2BaL.GyD.F4y2Ba.GyD.F4y2BaL.GyD.F4y2Ba是编码设计矩阵中的列数。有关详细信息,请参阅GyD.F4y2Ba编码GyD.F4y2Ba.GyD.F4y2Ba

    • 要使用其中一个内置的损失函数进行预测,那么所有二进制学习器必须返回一个相同范围内的分数。例如,您不能将默认的SVM二元学习器与默认的朴素贝叶斯二元学习器包含在一起。前者返回一个范围内的分数(-∞,∞),后者返回一个后验概率作为分数。否则,您必须提供一个自定义的loss作为函数句柄来处理诸如GyD.F4y2Ba预测GyD.F4y2Ba和GyD.F4y2Ba损失GyD.F4y2Ba.GyD.F4y2Ba

    • 您无法使用任何其他模板指定线性分类模型学习者模板。GyD.F4y2Ba

    • 同样,您无法使用任何其他模板指定内核分类模型学习者模板。GyD.F4y2Ba

默认情况下,该软件使用默认的支持向量机模板来训练学习者。GyD.F4y2Ba

例子:GyD.F4y2Ba“学习者”,“树”GyD.F4y2Ba

数字预测器的箱数,指定为逗号分隔对,由GyD.F4y2Ba“NumBins”GyD.F4y2Ba一个正整数标量。此参数仅在以下情况下有效GyD.F4y2BafitcecocGyD.F4y2Ba使用树型学习者,也就是说,GyD.F4y2Ba'学习者'GyD.F4y2Ba要么是GyD.F4y2Ba“树”GyD.F4y2Ba或使用的模板对象GyD.F4y2BatemplateTreeGyD.F4y2Ba,或使用GyD.F4y2BatemplateEnsembleGyD.F4y2Ba与树弱的学习者。GyD.F4y2Ba

  • 如果GyD.F4y2Ba“NumBins”GyD.F4y2Ba值是空的(默认),然后GyD.F4y2BafitcecocGyD.F4y2Ba没有任何预测因素。GyD.F4y2Ba

  • 如果您指定了GyD.F4y2Ba“NumBins”GyD.F4y2Ba作为正整数标量的值(GyD.F4y2Ba麻木GyD.F4y2Ba),然后GyD.F4y2BafitcecocGyD.F4y2Ba最多将每个数值预测器归为GyD.F4y2Ba麻木GyD.F4y2Ba等概率容器,然后在容器指数上生长树而不是原始数据。GyD.F4y2Ba

    • 容器的数量可以小于GyD.F4y2Ba麻木GyD.F4y2Ba如果预测器少于GyD.F4y2Ba麻木GyD.F4y2Ba唯一的值。GyD.F4y2Ba

    • fitcecocGyD.F4y2Ba不属于分类预测。GyD.F4y2Ba

当您使用一个大的训练数据集时,这个分类选项会加速训练,但可能会导致准确性的降低。你可以试试GyD.F4y2Ba“NumBins”,50岁GyD.F4y2Ba首先,然后根据准确性和训练速度来更改值。GyD.F4y2Ba

一个训练有素的模型存储在垃圾桶边GyD.F4y2Ba毕业生GyD.F4y2Ba财产。GyD.F4y2Ba

例子:GyD.F4y2Ba“NumBins”,50岁GyD.F4y2Ba

数据类型:GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba

同时训练的二进制学习者的数量,指定为逗号分隔对,由GyD.F4y2Ba“NumConcurrent”GyD.F4y2Ba一个正整数标量。默认值为GyD.F4y2Ba1GyD.F4y2Ba,这意味着GyD.F4y2BafitcecocGyD.F4y2Ba按顺序列达二元学习者。GyD.F4y2Ba

请注意GyD.F4y2Ba

此选项仅适用于当您使用GyD.F4y2BafitcecocGyD.F4y2Ba在高大的数组。看到GyD.F4y2Ba高大的数组GyD.F4y2Ba为更多的信息。GyD.F4y2Ba

数据类型:GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba

预测数据观察维度,指定为逗号分隔的对GyD.F4y2Ba'观察'GyD.F4y2Ba和GyD.F4y2Ba“列”GyD.F4y2Ba或GyD.F4y2Ba'行'GyD.F4y2Ba.GyD.F4y2Ba

请注意GyD.F4y2Ba

  • 对于线性分类学习者,如果你定位GyD.F4y2BaXGyD.F4y2Ba这样观察结果对应列并指定GyD.F4y2Ba“ObservationsIn”、“列”GyD.F4y2Ba,则可以显著减少优化执行时间。GyD.F4y2Ba

  • 对于所有其他学习者,东方GyD.F4y2BaXGyD.F4y2Ba所以观察值对应行。GyD.F4y2Ba

例子:GyD.F4y2Ba“ObservationsIn”、“列”GyD.F4y2Ba

详细程度,指定为逗号分隔对,由GyD.F4y2Ba“详细”GyD.F4y2Ba和GyD.F4y2Ba0.GyD.F4y2Ba那GyD.F4y2Ba1GyD.F4y2Ba,或GyD.F4y2Ba2GyD.F4y2Ba.GyD.F4y2Ba详细的GyD.F4y2Ba控制软件在命令窗口中显示的每个二进制学习者的诊断信息量。GyD.F4y2Ba

此表总结了可用的详细级别选项。GyD.F4y2Ba

价值GyD.F4y2Ba 描述GyD.F4y2Ba
0.GyD.F4y2Ba 软件不显示诊断信息。GyD.F4y2Ba
1GyD.F4y2Ba 每次培训新二进制学习者时,该软件都会显示诊断消息。GyD.F4y2Ba
2GyD.F4y2Ba 该软件每次训练一个新的二元学习者时,都会显示额外的诊断信息。GyD.F4y2Ba

每个二进制学习者都有自己的详细级别,它与此名称值对参数无关。要更改二进制学习者的详细程度,请创建模板对象并指定GyD.F4y2Ba“详细”GyD.F4y2Ba名称-值对的论点。然后,将模板对象传递给GyD.F4y2BafitcecocGyD.F4y2Ba通过使用GyD.F4y2Ba'学习者'GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

例子:GyD.F4y2Ba“详细”,1GyD.F4y2Ba

数据类型:GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba

交叉验证选择GyD.F4y2Ba

全部收缩GyD.F4y2Ba

标志要培训交叉验证的分类器,指定为逗号分隔对GyD.F4y2Ba“Crossval”GyD.F4y2Ba和GyD.F4y2Ba“上”GyD.F4y2Ba或GyD.F4y2Ba“关闭”GyD.F4y2Ba.GyD.F4y2Ba

如果您指定GyD.F4y2Ba“上”GyD.F4y2Ba然后,软件培训具有10倍的交叉验证的分类器。GyD.F4y2Ba

控件中的一个可以覆盖此交叉验证设置GyD.F4y2BaCVPartitionGyD.F4y2Ba那GyD.F4y2Ba坚持GyD.F4y2Ba那GyD.F4y2BaKFoldGyD.F4y2Ba,或GyD.F4y2BaLeaveoutGyD.F4y2Ba名称值对参数。您只能使用一个交叉验证名称 - 值对参数创建交叉验证的模型。GyD.F4y2Ba

或者,通过通过后来交叉验证GyD.F4y2BaMdlGyD.F4y2Ba来GyD.F4y2Ba横梁GyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba“Crossval”,“上”GyD.F4y2Ba

交叉验证分区,指定为aGyD.F4y2BacvpartitionGyD.F4y2Ba分区对象由GyD.F4y2BacvpartitionGyD.F4y2Ba.分区对象指定交叉验证的类型以及训练集和验证集的索引。GyD.F4y2Ba

要创建交叉验证的模型,您只能指定这四个名称值参数中的一个:GyD.F4y2BaCVPartitionGyD.F4y2Ba那GyD.F4y2Ba坚持GyD.F4y2Ba那GyD.F4y2BaKFoldGyD.F4y2Ba,或GyD.F4y2BaLeaveoutGyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba假设您使用以下方法创建了一个随机分区,用于对500个观测数据进行5倍交叉验证GyD.F4y2Ba本量利= cvpartition(500年,“KFold”, 5)GyD.F4y2Ba.然后,您可以使用GyD.F4y2Ba“CVPartition”,本量利GyD.F4y2Ba.GyD.F4y2Ba

用于阻止验证的数据的分数,指定为范围(0,1)的标量值。如果您指定GyD.F4y2Ba‘坚持’,pGyD.F4y2Ba,则软件完成以下步骤:GyD.F4y2Ba

  1. 随机选择和保留GyD.F4y2Bap * 100GyD.F4y2Ba%的数据作为验证数据,并使用其余的数据训练模型。GyD.F4y2Ba

  2. 存储紧凑型培训的模型GyD.F4y2Ba训练有素的GyD.F4y2Ba交叉验证模型的性质。GyD.F4y2Ba

要创建交叉验证的模型,您只能指定这四个名称值参数中的一个:GyD.F4y2BaCVPartitionGyD.F4y2Ba那GyD.F4y2Ba坚持GyD.F4y2Ba那GyD.F4y2BaKFoldGyD.F4y2Ba,或GyD.F4y2BaLeaveoutGyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba“坚持”,0.1GyD.F4y2Ba

数据类型:GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba

在交叉验证模型中使用的折叠数,指定为大于1的正整数。如果您指定GyD.F4y2BaKFold, kGyD.F4y2Ba,则软件完成以下步骤:GyD.F4y2Ba

  1. 随机分区数据GyD.F4y2BaK.GyD.F4y2Ba集。GyD.F4y2Ba

  2. 对于每个集合,保留该集合作为验证数据,并使用另一个来训练模型GyD.F4y2BaK.GyD.F4y2Ba- 1GyD.F4y2Ba集。GyD.F4y2Ba

  3. 储存GyD.F4y2BaK.GyD.F4y2Ba在一个紧凑的,训练的模型GyD.F4y2BaK.GyD.F4y2Ba-by-1细胞载体GyD.F4y2Ba训练有素的GyD.F4y2Ba交叉验证模型的性质。GyD.F4y2Ba

要创建交叉验证的模型,您只能指定这四个名称值参数中的一个:GyD.F4y2BaCVPartitionGyD.F4y2Ba那GyD.F4y2Ba坚持GyD.F4y2Ba那GyD.F4y2BaKFoldGyD.F4y2Ba,或GyD.F4y2BaLeaveoutGyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba“KFold”, 5GyD.F4y2Ba

数据类型:GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba

留下一张交叉验证标志,指定为逗号分隔的配对组成GyD.F4y2Ba'忽略'GyD.F4y2Ba和GyD.F4y2Ba“上”GyD.F4y2Ba或GyD.F4y2Ba“关闭”GyD.F4y2Ba.如果您指定GyD.F4y2Ba“Leaveout”,“上”GyD.F4y2Ba那么,每个人GyD.F4y2BaNGyD.F4y2Ba观察,在哪里GyD.F4y2BaNGyD.F4y2Ba是GyD.F4y2Ba尺寸(Mdl.X, 1)GyD.F4y2Ba软件:GyD.F4y2Ba

  1. 保留作为验证数据的观察,并使用另一个培训模型GyD.F4y2BaNGyD.F4y2Ba- 1观察GyD.F4y2Ba

  2. 存储GyD.F4y2BaNGyD.F4y2Ba紧凑,训练有素的模型在一个细胞中GyD.F4y2BaNGyD.F4y2Ba-by-1细胞载体GyD.F4y2Ba训练有素的GyD.F4y2Ba交叉验证模型的性质。GyD.F4y2Ba

要创建一个交叉验证的模型,您只能使用以下四个选项中的一个:GyD.F4y2BaCVPartitionGyD.F4y2Ba那GyD.F4y2Ba坚持GyD.F4y2Ba那GyD.F4y2BaKFoldGyD.F4y2Ba,或GyD.F4y2BaLeaveoutGyD.F4y2Ba.GyD.F4y2Ba

请注意GyD.F4y2Ba

对于由线性或核分类模型学习者组成的交叉验证ECOC模型,不推荐留一。GyD.F4y2Ba

例子:GyD.F4y2Ba“Leaveout”,“上”GyD.F4y2Ba

其他分类选项GyD.F4y2Ba

全部收缩GyD.F4y2Ba

分类预测器列表,指定为该表中的值之一。GyD.F4y2Ba

价值GyD.F4y2Ba 描述GyD.F4y2Ba
正整数矢量GyD.F4y2Ba

向量中的每个条目是对应于包含一个分类变量预测数据的列的索引值。该指数的值是1和2之间GyD.F4y2BaP.GyD.F4y2Ba, 在哪里GyD.F4y2BaP.GyD.F4y2Ba为用于训练模型的预测器数量。GyD.F4y2Ba

如果GyD.F4y2BafitcecocGyD.F4y2Ba使用输入变量的子集作为预测器,然后函数仅使用该子集对预测器进行索引。这GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba值不计算响应变量,观察体重变化,和任何其他变量的函数不使用。GyD.F4y2Ba

逻辑矢量GyD.F4y2Ba

一种GyD.F4y2Ba真的GyD.F4y2BaEntry表示预测数据对应的列是一个分类变量。向量的长度是GyD.F4y2BaP.GyD.F4y2Ba.GyD.F4y2Ba

字符矩阵GyD.F4y2Ba 矩阵的每一行都是一个预测变量的名称。该名称必须在条目匹配GyD.F4y2BaPredictorNamesGyD.F4y2Ba.用额外的空格填充名字,这样字符矩阵的每一行都有相同的长度。GyD.F4y2Ba
字符向量的字符串数组或单元格数组GyD.F4y2Ba 数组中的每个元素是一个预测变量的名称。该名称必须在条目匹配GyD.F4y2BaPredictorNamesGyD.F4y2Ba.GyD.F4y2Ba
“所有”GyD.F4y2Ba 所有的预测都是绝对的。GyD.F4y2Ba

规格GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba是合适的,如果:GyD.F4y2Ba

  • 至少有一个预测器是分类的,所有的二元学习器都是分类树、朴素贝叶斯学习器、支持向量机、线性学习器、核学习器或分类树的集合。GyD.F4y2Ba

  • 所有的预测器都是绝对的,至少有一个二元学习者是GyD.F4y2BaK.GyD.F4y2Ba神经网络。GyD.F4y2Ba

如果您指定GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba对于任何其他的学习者,软件会警告说它不能训练二元学习者。例如,该软件不能使用分类预测器训练判别分析分类器。GyD.F4y2Ba

每个学习者以与学习者对应的拟合函数相同的方式识别和对待分类预测器。看到GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba的GyD.F4y2BafitckernelGyD.F4y2Ba对于内核学习者,GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba的GyD.F4y2BafitcknnGyD.F4y2Ba为GyD.F4y2BaK.GyD.F4y2Ba最初的学习者,GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba的GyD.F4y2BafitclinearGyD.F4y2Ba对于线性学习者,GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba的GyD.F4y2BafitcnbGyD.F4y2Ba对于朴素贝叶斯学习者,GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba的GyD.F4y2Bafitcsvm.GyD.F4y2Ba为支持向量机学习者,和GyD.F4y2Ba'pationoricalpricictors'GyD.F4y2Ba的GyD.F4y2BafitctreeGyD.F4y2Ba树的学习者。GyD.F4y2Ba

例子:GyD.F4y2Ba“CategoricalPredictors”、“所有”GyD.F4y2Ba

数据类型:GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba逻辑GyD.F4y2Ba|GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba|GyD.F4y2Ba细胞GyD.F4y2Ba

用于训练的类名,指定为分类数组、字符数组或字符串数组;逻辑或数字向量;或者字符向量的单元格数组。GyD.F4y2BaClassnames.GyD.F4y2Ba必须具有与响应变量相同的数据类型GyD.F4y2BaTBL.GyD.F4y2Ba或GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba

如果GyD.F4y2BaClassnames.GyD.F4y2Ba是字符数组,则每个元素必须与数组的一行相对应。GyD.F4y2Ba

使用GyD.F4y2BaClassnames.GyD.F4y2Ba:GyD.F4y2Ba

  • 在培训期间指定类的顺序。GyD.F4y2Ba

  • 指定与类顺序相对应的任何输入或输出参数维的顺序。例如,使用GyD.F4y2BaClassnames.GyD.F4y2Ba指定尺寸的顺序GyD.F4y2Ba成本GyD.F4y2Ba或返回的分类分数的列顺序GyD.F4y2Ba预测GyD.F4y2Ba.GyD.F4y2Ba

  • 选择用于培训的类的子集。例如,假设集合中所有不同的类名GyD.F4y2BayGyD.F4y2Ba是GyD.F4y2Ba{' a ', ' b ', ' c '}GyD.F4y2Ba.要使用的观测从班训练模型GyD.F4y2Ba“一个”GyD.F4y2Ba和GyD.F4y2Ba“c”GyD.F4y2Ba仅限,指定GyD.F4y2Ba“类名”,{' a ', ' c '}GyD.F4y2Ba.GyD.F4y2Ba

的默认值GyD.F4y2BaClassnames.GyD.F4y2Ba是响应变量中的所有不同类名的集合GyD.F4y2BaTBL.GyD.F4y2Ba或GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba'classnames',{'b','g'}GyD.F4y2Ba

数据类型:GyD.F4y2Ba分类GyD.F4y2Ba|GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba|GyD.F4y2Ba逻辑GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba细胞GyD.F4y2Ba

误分类代价,指定为逗号分隔对组成GyD.F4y2Ba“成本”GyD.F4y2Ba方阵或方阵结构。如果你指定:GyD.F4y2Ba

  • 的方阵GyD.F4y2Ba成本GyD.F4y2Ba,然后GyD.F4y2Ba成本(i,j)GyD.F4y2Ba将一个点分类的成本是多少GyD.F4y2BajGyD.F4y2Ba如果它真正的阶级是GyD.F4y2Ba一世GyD.F4y2Ba.也就是说,行对应于真实类,列对应于预测类。指定相应行和列的类顺序GyD.F4y2Ba成本GyD.F4y2Ba,另外指定GyD.F4y2BaClassnames.GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

  • 结构GyD.F4y2BaS.GyD.F4y2Ba,则必须有两个字段:GyD.F4y2Ba

    • S.Classnames.GyD.F4y2Ba,它将类名包含为与类相同数据类型的变量GyD.F4y2BayGyD.F4y2Ba

    • S.Classificycosts.GyD.F4y2Ba,其中包含的行和列的成本矩阵排列,如GyD.F4y2BaS.Classnames.GyD.F4y2Ba

默认值是GyD.F4y2Ba(GyD.F4y2BaK.GyD.F4y2Ba) - (GyD.F4y2BaK.GyD.F4y2Ba)GyD.F4y2Ba, 在哪里GyD.F4y2BaK.GyD.F4y2Ba是不同的类的数量。GyD.F4y2Ba

例子:GyD.F4y2Ba'成本',[0 1 2;1 0 2;2 2 0]GyD.F4y2Ba

数据类型:GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba结构体GyD.F4y2Ba

并行计算选项,指定为逗号分隔对,由GyD.F4y2Ba“选项”GyD.F4y2Ba和返回的结构阵列GyD.F4y2Ba实例化GyD.F4y2Ba.这些选项需要并行计算工具箱™。GyD.F4y2BafitcecocGyD.F4y2Ba使用GyD.F4y2Ba“流”GyD.F4y2Ba那GyD.F4y2Ba“UseParallel”GyD.F4y2Ba,GyD.F4y2Ba“UseSubtreams”GyD.F4y2Ba字段。GyD.F4y2Ba

此表总结了可用选项。GyD.F4y2Ba

选项GyD.F4y2Ba 描述GyD.F4y2Ba
“流”GyD.F4y2Ba

一种GyD.F4y2BaRandStreamGyD.F4y2Ba对象或此类对象的单元格数组。如果没有指定GyD.F4y2Ba流GyD.F4y2Ba时,软件使用默认流或流。如果您指定GyD.F4y2Ba流GyD.F4y2Ba,除非下列情况为真,否则使用单个对象:GyD.F4y2Ba

  • 您有一个打开的平行池。GyD.F4y2Ba

  • UseParallelGyD.F4y2Ba是GyD.F4y2Ba真的GyD.F4y2Ba.GyD.F4y2Ba

  • Userumstreams.GyD.F4y2Ba是GyD.F4y2Ba假GyD.F4y2Ba.GyD.F4y2Ba

在这种情况下,使用与并行池相同大小的单元格数组。如果未打开并行池,则软件将尝试打开一个(取决于您的首选项),并且GyD.F4y2Ba流GyD.F4y2Ba必须提供单个随机数流。GyD.F4y2Ba

“UseParallel”GyD.F4y2Ba

如果您有并行计算工具箱,那么你可以通过调用设置的工人池GyD.F4y2Ba'使用反应',真实GyD.F4y2Ba.这GyD.F4y2BafitcecocGyD.F4y2Ba函数将每个二进制学习器发送给池中的工作器。GyD.F4y2Ba

当你对二进制学习者使用决策树时,GyD.F4y2BafitcecocGyD.F4y2Ba使用英特尔并行训练GyD.F4y2Ba®GyD.F4y2Ba用于双核及以上系统的线程构建块(TBB)。因此,指定GyD.F4y2Ba“UseParallel”GyD.F4y2Ba选项在单个计算机上没有帮助。在集群上使用此选项。关于Intel TBB的详细介绍请参见GyD.F4y2Bahttps://software.intel.com/en-us/intel-tbbGyD.F4y2Ba.GyD.F4y2Ba

“UseSubstreams”GyD.F4y2Ba 设置GyD.F4y2Ba真的GyD.F4y2Ba使用由指定的流并行计算GyD.F4y2Ba“流”GyD.F4y2Ba.默认为GyD.F4y2Ba假GyD.F4y2Ba.例如,一套GyD.F4y2Ba流GyD.F4y2Ba转换为允许子流的类型,例如GyD.F4y2Ba“mlfg6331_64”GyD.F4y2Ba或GyD.F4y2Ba“mrg32k3a”GyD.F4y2Ba.GyD.F4y2Ba

确保结果更可预测的最佳实践是使用GyD.F4y2Baparpool.GyD.F4y2Ba(并行计算工具箱)GyD.F4y2Ba并在调用并行计算之前显式地创建并行池GyD.F4y2BafitcecocGyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba'选项',statset('deverypallellel',true)GyD.F4y2Ba

数据类型:GyD.F4y2Ba结构体GyD.F4y2Ba

预测器变量名,指定为具有惟一名称的字符串数组或具有惟一字符向量的单元格数组。的功能GyD.F4y2BaPredictorNamesGyD.F4y2Ba取决于您提供培训数据的方式。GyD.F4y2Ba

  • 如果你提供GyD.F4y2BaXGyD.F4y2Ba和GyD.F4y2BayGyD.F4y2Ba,则可以使用GyD.F4y2BaPredictorNamesGyD.F4y2Ba将名称分配给Predictor变量GyD.F4y2BaXGyD.F4y2Ba.GyD.F4y2Ba

    • 名字的顺序GyD.F4y2BaPredictorNamesGyD.F4y2Ba必须对应的列顺序GyD.F4y2BaXGyD.F4y2Ba.那是,GyD.F4y2BaPredictorNames {1}GyD.F4y2Ba是GyD.F4y2Bax(:1)GyD.F4y2Ba那GyD.F4y2BaPredictorNames {2}GyD.F4y2Ba是GyD.F4y2BaX(:,2)GyD.F4y2Ba, 等等。还,GyD.F4y2Ba大小(X, 2)GyD.F4y2Ba和GyD.F4y2Banumel(预测的人)GyD.F4y2Ba必须是平等的。GyD.F4y2Ba

    • 默认情况下,GyD.F4y2BaPredictorNamesGyD.F4y2Ba是GyD.F4y2Ba{x1, x2,…}GyD.F4y2Ba.GyD.F4y2Ba

  • 如果你提供GyD.F4y2BaTBL.GyD.F4y2Ba,则可以使用GyD.F4y2BaPredictorNamesGyD.F4y2Ba选择用于培训的预测变量。那是,GyD.F4y2BafitcecocGyD.F4y2Ba仅使用中的预测变量GyD.F4y2BaPredictorNamesGyD.F4y2Ba以及训练过程中的反应变量。GyD.F4y2Ba

    • PredictorNamesGyD.F4y2Ba一定是?的子集GyD.F4y2Batbl.properties.variablenames.GyD.F4y2Ba且不能包含响应变量的名称。GyD.F4y2Ba

    • 默认情况下,GyD.F4y2BaPredictorNamesGyD.F4y2Ba包含所有预测变量的名称。GyD.F4y2Ba

    • 一个好的实践是指定使用这两种方法进行训练的预测器GyD.F4y2Ba“PredictorNames”GyD.F4y2Ba或GyD.F4y2Ba公式GyD.F4y2Ba,但不是两者。GyD.F4y2Ba

例子:GyD.F4y2Ba'predictornames',{sepallength','sepalwidth','petallength','petalwidth'}GyD.F4y2Ba

数据类型:GyD.F4y2Ba细绳GyD.F4y2Ba|GyD.F4y2Ba细胞GyD.F4y2Ba

每个类的先验概率,指定为逗号分隔对,由GyD.F4y2Ba'事先的'GyD.F4y2Ba和这个表中的值。GyD.F4y2Ba

价值GyD.F4y2Ba 描述GyD.F4y2Ba
“经验”GyD.F4y2Ba 课程的现有概率是类相对频率GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba
“统一”GyD.F4y2Ba 所有类先验概率都等于1/GyD.F4y2BaK.GyD.F4y2Ba, 在哪里GyD.F4y2BaK.GyD.F4y2Ba为类数。GyD.F4y2Ba
数字矢量GyD.F4y2Ba 每个元素是一个类的先验概率。根据命令元素GyD.F4y2BaMdlGyD.F4y2Ba.ClassNamesGyD.F4y2Ba或使用GyD.F4y2BaClassnames.GyD.F4y2Ba名称-值对的论点。该软件标准化的元件,使得它们的和为GyD.F4y2Ba1GyD.F4y2Ba.GyD.F4y2Ba
结构体GyD.F4y2Ba

结构GyD.F4y2BaS.GyD.F4y2Ba两个字段:GyD.F4y2Ba

  • S.Classnames.GyD.F4y2Ba将类名包含为与GyD.F4y2BayGyD.F4y2Ba.GyD.F4y2Ba

  • S.Classprobs.GyD.F4y2Ba包含对应的先验概率的矢量。该软件标准化的元件,使得它们的和为GyD.F4y2Ba1GyD.F4y2Ba.GyD.F4y2Ba

有关软件如何合并类先验概率的更多细节,请参见GyD.F4y2Ba概率和成本GyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Bastruct('classnames',{{'setosa','versicolor','virginica'}},'classprobs',1:3)GyD.F4y2Ba

数据类型:GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba|GyD.F4y2Ba结构体GyD.F4y2Ba

响应变量名,指定为字符向量或字符串标量。GyD.F4y2Ba

  • 如果你提供GyD.F4y2BayGyD.F4y2Ba,则可以使用GyD.F4y2Ba'responsebame'GyD.F4y2Ba指定响应变量的名称。GyD.F4y2Ba

  • 如果你提供GyD.F4y2BaResponseVarNameGyD.F4y2Ba或GyD.F4y2Ba公式GyD.F4y2Ba,则不能使用GyD.F4y2Ba'responsebame'GyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba'responsebame','响应'GyD.F4y2Ba

数据类型:GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba

分数转换,指定为字符向量、字符串标量或函数句柄。GyD.F4y2Ba

该表总结了可用的字符向量和字符串标量。GyD.F4y2Ba

价值GyD.F4y2Ba 描述GyD.F4y2Ba
“doublelogit”GyD.F4y2Ba 1 /(1 +GyD.F4y2BaE.GyD.F4y2Ba2GyD.F4y2BaXGyD.F4y2Ba)GyD.F4y2Ba
'invlogit'GyD.F4y2Ba 日志(GyD.F4y2BaXGyD.F4y2Ba/ (1 -GyD.F4y2BaXGyD.F4y2Ba)))GyD.F4y2Ba
“ismax”GyD.F4y2Ba 将分数最大的班级的分数设置为1,并将所有其他班级的分数设置为0GyD.F4y2Ba
分对数的GyD.F4y2Ba 1 /(1 +GyD.F4y2BaE.GyD.F4y2Ba-GyD.F4y2BaXGyD.F4y2Ba)GyD.F4y2Ba
'没有任何'GyD.F4y2Ba或GyD.F4y2Ba“身份”GyD.F4y2Ba XGyD.F4y2Ba(转换)GyD.F4y2Ba
'标志'GyD.F4y2Ba 1GyD.F4y2BaXGyD.F4y2Ba<0GyD.F4y2Ba
为0GyD.F4y2BaXGyD.F4y2Ba= 0GyD.F4y2Ba
1GyD.F4y2BaXGyD.F4y2Ba> 0GyD.F4y2Ba
'对称'GyD.F4y2Ba 2GyD.F4y2BaXGyD.F4y2Ba- 1GyD.F4y2Ba
'ymmetricismax'GyD.F4y2Ba 将分数最大的班级的分数设置为1,并将所有其他班级的分数设置为-1GyD.F4y2Ba
“symmetriclogit”GyD.F4y2Ba 2 / (1 +GyD.F4y2BaE.GyD.F4y2Ba-GyD.F4y2BaXGyD.F4y2Ba) - 1GyD.F4y2Ba

对于MATLAB函数或您定义的函数,使用其功能句柄进行分数转换。函数句柄必须接受矩阵(原始分数)并返回相同大小的矩阵(转换的分数)。GyD.F4y2Ba

例子:GyD.F4y2Ba“ScoreTransform”、“分对数的GyD.F4y2Ba

数据类型:GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba|GyD.F4y2Bafunction_handle.GyD.F4y2Ba

观察权值,指定为逗号分隔的对,由GyD.F4y2Ba“重量”GyD.F4y2Ba和一个正数的数字向量或变量名GyD.F4y2BaTBL.GyD.F4y2Ba.该软件在每行中重视观察GyD.F4y2BaXGyD.F4y2Ba或GyD.F4y2BaTBL.GyD.F4y2Ba对应的值在GyD.F4y2Ba重量GyD.F4y2Ba.的大小GyD.F4y2Ba重量GyD.F4y2Ba必须等于行的行数GyD.F4y2BaXGyD.F4y2Ba或GyD.F4y2BaTBL.GyD.F4y2Ba.GyD.F4y2Ba

如果您将输入数据指定为表GyD.F4y2BaTBL.GyD.F4y2Ba,然后GyD.F4y2Ba重量GyD.F4y2Ba可以是变量的名称GyD.F4y2BaTBL.GyD.F4y2Ba包含数字矢量。在这种情况下,您必须指定GyD.F4y2Ba重量GyD.F4y2Ba作为字符向量或字符串标量。例如,如果权重向量GyD.F4y2BaW.GyD.F4y2Ba存储为GyD.F4y2BaTBL.W.GyD.F4y2Ba,则指定为GyD.F4y2Ba' W 'GyD.F4y2Ba.否则,软件将对所有列进行处理GyD.F4y2BaTBL.GyD.F4y2Ba, 包含GyD.F4y2BaW.GyD.F4y2Ba,作为预测器或训练模型时的反应。GyD.F4y2Ba

该软件可实现GyD.F4y2Ba重量GyD.F4y2Ba求和为各类的先验概率值。GyD.F4y2Ba

默认情况下,GyD.F4y2Ba重量GyD.F4y2Ba是GyD.F4y2Ba(GyD.F4y2BaNGyD.F4y2Ba1)GyD.F4y2Ba, 在哪里GyD.F4y2BaNGyD.F4y2Ba观察的次数在吗GyD.F4y2BaXGyD.F4y2Ba或GyD.F4y2BaTBL.GyD.F4y2Ba.GyD.F4y2Ba

数据类型:GyD.F4y2Ba双倍的GyD.F4y2Ba|GyD.F4y2Ba单GyD.F4y2Ba|GyD.F4y2BacharGyD.F4y2Ba|GyD.F4y2Ba细绳GyD.F4y2Ba

超参数优化GyD.F4y2Ba

全部收缩GyD.F4y2Ba

要优化的参数,指定为逗号分隔的对GyD.F4y2Ba“OptimizeHyperparameters”GyD.F4y2Ba和以下之一:GyD.F4y2Ba

  • '没有任何'GyD.F4y2Ba- 不要优化。GyD.F4y2Ba

  • '汽车'GyD.F4y2Ba- 用GyD.F4y2Ba{'编码'}GyD.F4y2Ba以及指定的默认参数GyD.F4y2Ba学习者GyD.F4y2Ba:GyD.F4y2Ba

    • 学习者GyD.F4y2Ba=GyD.F4y2Ba“支持向量机”GyD.F4y2Ba(默认)GyD.F4y2Ba{“BoxConstraint”、“KernelScale”}GyD.F4y2Ba

    • 学习者GyD.F4y2Ba=GyD.F4y2Ba“判别”GyD.F4y2Ba-GyD.F4y2Ba{'delta','gamma'}GyD.F4y2Ba

    • 学习者GyD.F4y2Ba=GyD.F4y2Ba'核心'GyD.F4y2Ba-GyD.F4y2Ba{ 'KernelScale', 'LAMBDA'}GyD.F4y2Ba

    • 学习者GyD.F4y2Ba=GyD.F4y2Ba'knn'GyD.F4y2Ba-GyD.F4y2Ba{‘距离’,‘NumNeighbors}GyD.F4y2Ba

    • 学习者GyD.F4y2Ba=GyD.F4y2Ba“线性”GyD.F4y2Ba-GyD.F4y2Ba{“λ”、“学习者”}GyD.F4y2Ba

    • 学习者GyD.F4y2Ba=GyD.F4y2Ba'天真宝贝'GyD.F4y2Ba-GyD.F4y2Ba{“DistributionNames”、“宽度”}GyD.F4y2Ba

    • 学习者GyD.F4y2Ba=GyD.F4y2Ba“树”GyD.F4y2Ba-GyD.F4y2Ba{' MinLeafSize '}GyD.F4y2Ba

  • “所有”GyD.F4y2Ba- 优化所有符合条件的参数。GyD.F4y2Ba

  • 符号数组或符合条件参数名称的单元数组GyD.F4y2Ba

  • 向量的GyD.F4y2BaoptimizableVariableGyD.F4y2Ba对象,通常是输出GyD.F4y2Ba普遍存在GyD.F4y2Ba

优化尝试最小化交叉验证损失(错误)GyD.F4y2BafitcecocGyD.F4y2Ba通过改变参数。有关在不同的上下文中的交叉验证丢失的信息,请参阅GyD.F4y2Ba分类损失GyD.F4y2Ba.要控制交叉验证类型和优化的其他方面,请使用GyD.F4y2BaHyperParameterOptimizationOptions.GyD.F4y2Ba名称 - 值对。GyD.F4y2Ba

请注意GyD.F4y2Ba

“OptimizeHyperparameters”GyD.F4y2Ba值覆盖使用其他名称-值对参数设置的任何值。例如,设置GyD.F4y2Ba“OptimizeHyperparameters”GyD.F4y2Ba来GyD.F4y2Ba'汽车'GyD.F4y2Ba导致GyD.F4y2Ba'汽车'GyD.F4y2Ba值应用。GyD.F4y2Ba

符合条件的参数GyD.F4y2BafitcecocGyD.F4y2Ba是:GyD.F4y2Ba

  • 编码GyD.F4y2Ba-GyD.F4y2BafitcecocGyD.F4y2Ba搜索中GyD.F4y2Ba'Onevsall'GyD.F4y2Ba和GyD.F4y2Ba“onevsone”GyD.F4y2Ba.GyD.F4y2Ba

  • 所选的符合条件的超参数GyD.F4y2Ba学习者GyD.F4y2Ba,如此表格所示。GyD.F4y2Ba

    学习者GyD.F4y2Ba 合格HyperparametersGyD.F4y2Ba
    (大胆=默认)GyD.F4y2Ba
    默认范围GyD.F4y2Ba
    “判别”GyD.F4y2Ba 三角洲GyD.F4y2Ba 在范围内记录GyD.F4y2Ba(1 e-6, 1 e3)GyD.F4y2Ba
    鉴定GyD.F4y2Ba “线性”GyD.F4y2Ba那GyD.F4y2Ba“二次”GyD.F4y2Ba那GyD.F4y2Ba“diagLinear”GyD.F4y2Ba那GyD.F4y2Ba'diagquadratic'GyD.F4y2Ba那GyD.F4y2Ba“pseudoLinear”GyD.F4y2Ba,GyD.F4y2Ba“pseudoQuadratic”GyD.F4y2Ba
    伽玛GyD.F4y2Ba 真正的价值GyD.F4y2Ba[0, 1]GyD.F4y2Ba
    '核心'GyD.F4y2Ba λGyD.F4y2Ba 正的值在范围内按对数缩放GyD.F4y2Ba(1 e - 3 / NumObservations, e3 / NumObservations]GyD.F4y2Ba
    内塞尔GyD.F4y2Ba 正的值在范围内按对数缩放GyD.F4y2Ba(1 e - 3, 1 e3)GyD.F4y2Ba
    学习者GyD.F4y2Ba “支持向量机”GyD.F4y2Ba和GyD.F4y2Ba“物流”GyD.F4y2Ba
    NumExpansionDimensionsGyD.F4y2Ba 在范围内按对数缩放的整数GyD.F4y2Ba(100、10000)GyD.F4y2Ba
    'knn'GyD.F4y2Ba 距离GyD.F4y2Ba “cityblock”GyD.F4y2Ba那GyD.F4y2Ba“chebychev”GyD.F4y2Ba那GyD.F4y2Ba“相关”GyD.F4y2Ba那GyD.F4y2Ba的余弦GyD.F4y2Ba那GyD.F4y2Ba'euclidean'GyD.F4y2Ba那GyD.F4y2Ba“汉明”GyD.F4y2Ba那GyD.F4y2Ba“jaccard”GyD.F4y2Ba那GyD.F4y2Ba“mahalanobis”GyD.F4y2Ba那GyD.F4y2Ba闵可夫斯基的GyD.F4y2Ba那GyD.F4y2Ba'seuclidean'GyD.F4y2Ba,GyD.F4y2Ba“枪兵”GyD.F4y2Ba
    DistanceWeightGyD.F4y2Ba '平等的'GyD.F4y2Ba那GyD.F4y2Ba“逆”GyD.F4y2Ba,GyD.F4y2Ba“squaredinverse”GyD.F4y2Ba
    指数GyD.F4y2Ba 正值GyD.F4y2Ba[0.5,3]GyD.F4y2Ba
    NumNeighborsGyD.F4y2Ba 正整数值LOG缩放的范围GyD.F4y2Ba[1,马克斯(2轮(NumObservations / 2)))GyD.F4y2Ba
    标准化GyD.F4y2Ba '真的'GyD.F4y2Ba和GyD.F4y2Ba'错误的'GyD.F4y2Ba
    “线性”GyD.F4y2Ba λGyD.F4y2Ba 正的值在范围内按对数缩放GyD.F4y2Ba[1 e-5 / NumObservations 1 e5 / NumObservations]GyD.F4y2Ba
    学习者GyD.F4y2Ba “支持向量机”GyD.F4y2Ba和GyD.F4y2Ba“物流”GyD.F4y2Ba
    正则化GyD.F4y2Ba “岭”GyD.F4y2Ba和GyD.F4y2Ba“套索”GyD.F4y2Ba
    '天真宝贝'GyD.F4y2Ba DistributionNamesGyD.F4y2Ba “正常”GyD.F4y2Ba和GyD.F4y2Ba'核心'GyD.F4y2Ba
    宽度GyD.F4y2Ba 正的值在范围内按对数缩放GyD.F4y2Ba[MinPredictorDiff / 4,MAX(MaxPredictorRange,MinPredictorDiff)]GyD.F4y2Ba
    内核GyD.F4y2Ba “正常”GyD.F4y2Ba那GyD.F4y2Ba“盒子”GyD.F4y2Ba那GyD.F4y2Ba'Epanechnikov'GyD.F4y2Ba,GyD.F4y2Ba“三角形”GyD.F4y2Ba
    “支持向量机”GyD.F4y2Ba boxconstraint.GyD.F4y2Ba 正的值在范围内按对数缩放GyD.F4y2Ba(1 e - 3, 1 e3)GyD.F4y2Ba
    内塞尔GyD.F4y2Ba 正的值在范围内按对数缩放GyD.F4y2Ba(1 e - 3, 1 e3)GyD.F4y2Ba
    KernelFunctionGyD.F4y2Ba “高斯”GyD.F4y2Ba那GyD.F4y2Ba“线性”GyD.F4y2Ba,GyD.F4y2Ba'多项式'GyD.F4y2Ba
    PolynomialOrderGyD.F4y2Ba 范围内的整数GyD.F4y2Ba(2、4)GyD.F4y2Ba
    标准化GyD.F4y2Ba '真的'GyD.F4y2Ba和GyD.F4y2Ba'错误的'GyD.F4y2Ba
    “树”GyD.F4y2Ba MaxNumSplitsGyD.F4y2Ba 在范围内按对数缩放的整数GyD.F4y2BaNumObservations-1[1,马克斯(2))GyD.F4y2Ba
    minleafsize.GyD.F4y2Ba 在范围内按对数缩放的整数GyD.F4y2Ba[1,MAX(2,楼层(NumObservations / 2))]GyD.F4y2Ba
    numvariablestosample.GyD.F4y2Ba 范围内的整数GyD.F4y2BaNumPredictors[1,马克斯(2))GyD.F4y2Ba
    斯波特刺激器GyD.F4y2Ba gdi的GyD.F4y2Ba那GyD.F4y2Ba'偏见'GyD.F4y2Ba,GyD.F4y2Ba“两个”GyD.F4y2Ba

    另外,使用GyD.F4y2Ba普遍存在GyD.F4y2Ba和你的选择GyD.F4y2Ba学习者GyD.F4y2Ba, 如GyD.F4y2Ba

    负载GyD.F4y2BafisheririsGyD.F4y2Ba%HyperParameters需要数据和学习者GyD.F4y2Baparams = hyperparameters(GyD.F4y2Ba'fitcecoc'GyD.F4y2Ba量,物种,GyD.F4y2Ba“支持向量机”GyD.F4y2Ba);GyD.F4y2Ba

    要查看符合条件的和默认的超参数,请检查GyD.F4y2Ba参数个数GyD.F4y2Ba.GyD.F4y2Ba

通过传染媒介设置非菲达参数GyD.F4y2BaoptimizableVariableGyD.F4y2Ba具有非默认值的对象。例如,GyD.F4y2Ba

负载GyD.F4y2BafisheririsGyD.F4y2Baparams = hyperparameters(GyD.F4y2Ba'fitcecoc'GyD.F4y2Ba量,物种,GyD.F4y2Ba“支持向量机”GyD.F4y2Ba);参数(2)。范围=(1的军医,1 e6);GyD.F4y2Ba

经过GyD.F4y2Ba参数个数GyD.F4y2Ba的价值GyD.F4y2BaOptimizeHyperparametersGyD.F4y2Ba.GyD.F4y2Ba

默认情况下,在命令行出现迭代显示,并根据优化中超参数的数量出现绘图。对于优化和绘图,目标函数为GyD.F4y2BaLog(1 +交叉验证损失)GyD.F4y2Ba为回归和误分类率为分类。若要控制迭代显示,请设置GyD.F4y2Ba详细的GyD.F4y2Ba场的GyD.F4y2Ba“HyperparameterOptimizationOptions”GyD.F4y2Ba名称-值对的论点。要控制情节,设置GyD.F4y2BaShowPlotsGyD.F4y2Ba场的GyD.F4y2Ba“HyperparameterOptimizationOptions”GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

例如,看到GyD.F4y2Ba优化Ecoc分类器GyD.F4y2Ba.GyD.F4y2Ba

例子:GyD.F4y2Ba'汽车'GyD.F4y2Ba

优化选项,指定为逗号分隔对组成GyD.F4y2Ba“HyperparameterOptimizationOptions”GyD.F4y2Ba和结构。该参数修改GyD.F4y2BaOptimizeHyperparametersGyD.F4y2Ba名称-值对的论点。结构中的所有字段都是可选的。GyD.F4y2Ba

字段名称GyD.F4y2Ba 值GyD.F4y2Ba 默认GyD.F4y2Ba
优化器GyD.F4y2Ba
  • 'Bayesopt'GyD.F4y2Ba-使用贝叶斯优化。在内部,这个设置调用GyD.F4y2BabayesoptGyD.F4y2Ba.GyD.F4y2Ba

  • “gridsearch”GyD.F4y2Ba- 使用网格搜索GyD.F4y2Banumgriddivisiving.GyD.F4y2Ba每个维度的值。GyD.F4y2Ba

  • 'randomsearch'GyD.F4y2Ba-随机搜索GyD.F4y2BaMaxObjectiveEvaluationsGyD.F4y2Ba要点。GyD.F4y2Ba

“gridsearch”GyD.F4y2Ba以随机顺序搜索,使用均匀抽样而不从网格中替换。优化之后,您可以使用该命令获得一个按网格顺序排列的表GyD.F4y2Basortrows (Mdl.HyperparameterOptimizationResults)GyD.F4y2Ba.GyD.F4y2Ba

'Bayesopt'GyD.F4y2Ba
收集功能名称GyD.F4y2Ba

  • “expected-improvement-per-second-plus”GyD.F4y2Ba

  • “expected-improvement”GyD.F4y2Ba

  • '预期改善加'GyD.F4y2Ba

  • “expected-improvement-per-second”GyD.F4y2Ba

  • “较低的信任”GyD.F4y2Ba

  • “probability-of-improvement”GyD.F4y2Ba

获取函数的名称包括GyD.F4y2Ba每秒GyD.F4y2Ba不会产生可重复的结果,因为优化依赖于目标函数的运行时间。获取函数的名称包括GyD.F4y2Ba+GyD.F4y2Ba当他们过度开发一个区域时,调整他们的行为。有关更多详细信息,请参阅GyD.F4y2Ba获取函数类型GyD.F4y2Ba.GyD.F4y2Ba

“expected-improvement-per-second-plus”GyD.F4y2Ba
MaxObjectiveEvaluationsGyD.F4y2Ba 最大客观函数评估数。GyD.F4y2Ba 30.GyD.F4y2Ba为GyD.F4y2Ba'Bayesopt'GyD.F4y2Ba或GyD.F4y2Ba'randomsearch'GyD.F4y2Ba,和整个网格GyD.F4y2Ba“gridsearch”GyD.F4y2Ba
MaxTime.GyD.F4y2Ba

时限,指定为正实。时间限制以秒为单位,用GyD.F4y2BaTic.GyD.F4y2Ba和GyD.F4y2BaTOC.GyD.F4y2Ba.运行时间可以超过GyD.F4y2BaMaxTime.GyD.F4y2Ba因为GyD.F4y2BaMaxTime.GyD.F4y2Ba不中断功能评估。GyD.F4y2Ba

正GyD.F4y2Ba
numgriddivisiving.GyD.F4y2Ba 为GyD.F4y2Ba“gridsearch”GyD.F4y2Ba,表示每个维度中值的数量。该值可以是一个给出每个维度值数量的正整数向量,也可以是适用于所有维度的标量。对于分类变量,该字段被忽略。GyD.F4y2Ba 10.GyD.F4y2Ba
ShowPlotsGyD.F4y2Ba 指示是否显示绘图的逻辑值。如果GyD.F4y2Ba真的GyD.F4y2Ba,该域根据迭代次数绘制出最佳目标函数值。如果有一个或两个优化参数,如果GyD.F4y2Ba优化器GyD.F4y2Ba是GyD.F4y2Ba'Bayesopt'GyD.F4y2Ba,然后GyD.F4y2BaShowPlotsGyD.F4y2Ba还根据参数绘制目标函数的模型。GyD.F4y2Ba 真的GyD.F4y2Ba
SaveIntermediateResultsGyD.F4y2Ba 表示是否保存结果的逻辑值GyD.F4y2Ba优化器GyD.F4y2Ba是GyD.F4y2Ba'Bayesopt'GyD.F4y2Ba.如果GyD.F4y2Ba真的GyD.F4y2Ba,此字段覆盖名为的工作空间变量GyD.F4y2Ba“BayesoptResults”GyD.F4y2Ba在每一个迭代。变量是aGyD.F4y2BaBayesianOptimizationGyD.F4y2Ba对象。GyD.F4y2Ba 假GyD.F4y2Ba
详细的GyD.F4y2Ba

显示到命令行。GyD.F4y2Ba

  • 0.GyD.F4y2Ba-没有迭代显示GyD.F4y2Ba

  • 1GyD.F4y2Ba- 迭代显示GyD.F4y2Ba

  • 2GyD.F4y2Ba-重复显示额外的信息GyD.F4y2Ba

具体操作请参见GyD.F4y2BabayesoptGyD.F4y2Ba详细的GyD.F4y2Ba名称-值对的论点。GyD.F4y2Ba

1GyD.F4y2Ba
UseParallelGyD.F4y2Ba 指示是否并行运行贝叶斯优化的逻辑值,这需要并行计算工具箱。由于并行时序的不可再现性,并行贝叶斯优化并不一定产生可再现的结果。有关详细信息,请参阅GyD.F4y2Ba平行的贝叶斯优化GyD.F4y2Ba.GyD.F4y2Ba 假GyD.F4y2Ba
重新分区GyD.F4y2Ba

指示是否在每次迭代时重新划分交叉验证的逻辑值。如果GyD.F4y2Ba假GyD.F4y2Ba,优化器使用单个分区进行优化。GyD.F4y2Ba

真的GyD.F4y2Ba通常给出最健壮的结果,因为这个设置考虑到了分区噪声。然而,为了得到好的结果,GyD.F4y2Ba真的GyD.F4y2Ba需要至少两倍的函数评估。GyD.F4y2Ba

假GyD.F4y2Ba
不超过以下三个字段名称中的一个。GyD.F4y2Ba
CVPartitionGyD.F4y2Ba 一种GyD.F4y2BacvpartitionGyD.F4y2Ba对象,如通过创建GyD.F4y2BacvpartitionGyD.F4y2Ba.GyD.F4y2Ba “Kfold”, 5GyD.F4y2Ba如果您没有指定任何交叉验证字段GyD.F4y2Ba
坚持GyD.F4y2Ba 范围内的标量GyD.F4y2Ba(0,1)GyD.F4y2Ba表示坚持不懈的分数。GyD.F4y2Ba
KfoldGyD.F4y2Ba 整数大于1。GyD.F4y2Ba

例子:GyD.F4y2Ba'hyperparameteroptimizationOptions',struct('maxobjectiveevaluations',60)GyD.F4y2Ba

数据类型:GyD.F4y2Ba结构体GyD.F4y2Ba

输出参数GyD.F4y2Ba

全部收缩GyD.F4y2Ba

训练过的ECOC分类器,返回为GyD.F4y2BaClassificationECOCGyD.F4y2Ba或GyD.F4y2BaCompactClassificationECOCGyD.F4y2Ba模型对象,或者GyD.F4y2BaClassificationPartitionedECOCGyD.F4y2Ba那GyD.F4y2BaClassificationPartitionedLinearECOCGyD.F4y2Ba,或GyD.F4y2BaClassificationPartitionedKernelECOCGyD.F4y2Ba旨在模型对象。GyD.F4y2Ba

下表显示了返回的模型对象类型GyD.F4y2BafitcecocGyD.F4y2Ba这取决于您指定的二进制学习器类型以及您是否执行交叉验证。GyD.F4y2Ba

线性分类模型学习者GyD.F4y2Ba 核分类模型学习者GyD.F4y2Ba 交叉验证GyD.F4y2Ba 返回模型对象GyD.F4y2Ba
没有GyD.F4y2Ba 没有GyD.F4y2Ba 没有GyD.F4y2Ba ClassificationECOCGyD.F4y2Ba
没有GyD.F4y2Ba 没有GyD.F4y2Ba 是的GyD.F4y2Ba ClassificationPartitionedECOCGyD.F4y2Ba
是的GyD.F4y2Ba 没有GyD.F4y2Ba 没有GyD.F4y2Ba CompactClassificationECOCGyD.F4y2Ba
是的GyD.F4y2Ba 没有GyD.F4y2Ba 是的GyD.F4y2Ba ClassificationPartitionedLinearECOCGyD.F4y2Ba
没有GyD.F4y2Ba 是的GyD.F4y2Ba 没有GyD.F4y2Ba CompactClassificationECOCGyD.F4y2Ba
没有GyD.F4y2Ba 是的GyD.F4y2Ba 是的GyD.F4y2Ba ClassificationPartitionedKernelECOCGyD.F4y2Ba

HyperParameters的交叉验证优化描述,返回为aGyD.F4y2BaBayesianOptimizationGyD.F4y2Ba对象或超参数和关联值表。GyD.F4y2BaHyperParameterOptimationResults.GyD.F4y2Ba是不是空的GyD.F4y2BaOptimizeHyperparametersGyD.F4y2Ba名称 - 值对参数是非空的GyD.F4y2Ba学习者GyD.F4y2Ba名称值对参数指定线性或内核二进制学习者。该值取决于设置的设置GyD.F4y2BaHyperParameterOptimizationOptions.GyD.F4y2Ba名称值对参数:GyD.F4y2Ba

  • 'Bayesopt'GyD.F4y2Ba(默认) - 类的对象GyD.F4y2BaBayesianOptimizationGyD.F4y2Ba

  • “gridsearch”GyD.F4y2Ba或GyD.F4y2Ba'randomsearch'GyD.F4y2Ba- 使用的超级参数表,观察到的目标函数值(交叉验证丢失),以及从最小(最佳)到最高(最差)的观察等级GyD.F4y2Ba

数据类型:GyD.F4y2Ba表格GyD.F4y2Ba

限制GyD.F4y2Ba

  • fitcecocGyD.F4y2Ba金宝app仅支持稀疏矩阵用于训练线性分类模型。对于所有其他型号,提供预测数据的完整矩阵来代替。GyD.F4y2Ba

更多关于GyD.F4y2Ba

全部收缩GyD.F4y2Ba

二元损失GyD.F4y2Ba

一种GyD.F4y2Ba二元损失GyD.F4y2Ba是类和分类分数的函数,它决定了二进制学习者将观察分类到类中的程度。GyD.F4y2Ba

假设如下:GyD.F4y2Ba

  • mGyD.F4y2BakjGyD.F4y2Ba是元素(GyD.F4y2BaK.GyD.F4y2Ba那GyD.F4y2BajGyD.F4y2Ba)的编码设计矩阵GyD.F4y2BamGyD.F4y2Ba(即与类对应的代码GyD.F4y2BaK.GyD.F4y2Ba二进制的学习者GyD.F4y2BajGyD.F4y2Ba).GyD.F4y2Ba

  • S.GyD.F4y2BajGyD.F4y2Ba是二进制学习者的分数GyD.F4y2BajGyD.F4y2Ba对于一个观察。GyD.F4y2Ba

  • GGyD.F4y2Ba为二进制损失函数。GyD.F4y2Ba

  • K.GyD.F4y2Ba ^GyD.F4y2Ba 是预测的观察类。GyD.F4y2Ba

在GyD.F4y2Ba基于损失的解码GyD.F4y2Ba[escalera等。]GyD.F4y2Ba,对二进制学习者产生最小二进制损失和的类决定了观测的预测类,即,GyD.F4y2Ba

K.GyD.F4y2Ba ^GyD.F4y2Ba =GyD.F4y2Ba argminGyD.F4y2Ba K.GyD.F4y2Ba ∑GyD.F4y2Ba jGyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba jGyD.F4y2Ba |GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba jGyD.F4y2Ba 那GyD.F4y2Ba S.GyD.F4y2Ba jGyD.F4y2Ba )GyD.F4y2Ba .GyD.F4y2Ba

在GyD.F4y2Baloss-weighted解码GyD.F4y2Ba[escalera等。]GyD.F4y2Ba,制作二进制学习者二进制损失的最小平均值的阶级决定了预测的观察类,即GyD.F4y2Ba

K.GyD.F4y2Ba ^GyD.F4y2Ba =GyD.F4y2Ba argminGyD.F4y2Ba K.GyD.F4y2Ba ∑GyD.F4y2Ba jGyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba jGyD.F4y2Ba |GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba jGyD.F4y2Ba 那GyD.F4y2Ba S.GyD.F4y2Ba jGyD.F4y2Ba )GyD.F4y2Ba ∑GyD.F4y2Ba jGyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba jGyD.F4y2Ba |GyD.F4y2Ba .GyD.F4y2Ba

allwein等。GyD.F4y2Ba提出损耗加权译码通过将所有类的损耗值保持在相同的动态范围内来提高分类精度。GyD.F4y2Ba

此表总结了支持的损耗功能,其中金宝appGyD.F4y2BayGyD.F4y2BajGyD.F4y2Ba为特定的二进制学习者类别标签(在集合{-1,1,0}),GyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba分数是否供观察GyD.F4y2BajGyD.F4y2Ba,GyD.F4y2BaGGyD.F4y2Ba(GyD.F4y2BayGyD.F4y2BajGyD.F4y2Ba那GyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba).GyD.F4y2Ba

价值GyD.F4y2Ba 描述GyD.F4y2Ba 分数域GyD.F4y2Ba GGyD.F4y2Ba(GyD.F4y2BayGyD.F4y2BajGyD.F4y2Ba那GyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba)GyD.F4y2Ba
'binodeviance'GyD.F4y2Ba 二项异常GyD.F4y2Ba ( - ∞,∞)GyD.F4y2Ba 日志(1 + exp (2GyD.F4y2BayGyD.F4y2BajGyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba)] / [2log(2)]GyD.F4y2Ba
'指数'GyD.F4y2Ba 幂数GyD.F4y2Ba ( - ∞,∞)GyD.F4y2Ba exp (-GyD.F4y2BayGyD.F4y2BajGyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba) / 2GyD.F4y2Ba
“汉明”GyD.F4y2Ba 汉明GyD.F4y2Ba [0, 1]或(-∞,∞)GyD.F4y2Ba [1 - 符号(GyD.F4y2BayGyD.F4y2BajGyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba)] / 2GyD.F4y2Ba
“枢纽”GyD.F4y2Ba 合页GyD.F4y2Ba ( - ∞,∞)GyD.F4y2Ba max(0,1 -GyD.F4y2BayGyD.F4y2BajGyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba) / 2GyD.F4y2Ba
“线性”GyD.F4y2Ba 线性GyD.F4y2Ba ( - ∞,∞)GyD.F4y2Ba (1 -GyD.F4y2BayGyD.F4y2BajGyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba) / 2GyD.F4y2Ba
分对数的GyD.F4y2Ba 物流GyD.F4y2Ba ( - ∞,∞)GyD.F4y2Ba 日志[1 + exp (-GyD.F4y2BayGyD.F4y2BajGyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba)] / [2log(2)]GyD.F4y2Ba
“二次”GyD.F4y2Ba 二次GyD.F4y2Ba [0, 1]GyD.F4y2Ba (1 -GyD.F4y2BayGyD.F4y2BajGyD.F4y2Ba(2GyD.F4y2BaS.GyD.F4y2BajGyD.F4y2Ba- 1)]GyD.F4y2Ba2GyD.F4y2Ba/ 2.GyD.F4y2Ba

该软件使二进制损失正常化,当损失是0.5GyD.F4y2BayGyD.F4y2BajGyD.F4y2Ba= 0,并使用二进制学习者的平均值进行聚合GyD.F4y2Ba(Allwein等。)GyD.F4y2Ba.GyD.F4y2Ba

不要将二进制损失与总体分类损失(由GyD.F4y2Ba“LossFun”GyD.F4y2Ba的名称-值对参数GyD.F4y2Ba损失GyD.F4y2Ba和GyD.F4y2Ba预测GyD.F4y2Ba对象函数),它衡量ECOC分类器作为一个整体的执行情况。GyD.F4y2Ba

编码设计GyD.F4y2Ba

一种GyD.F4y2Ba编码设计GyD.F4y2Ba是一个矩阵,其中元素是由每个二进制学习者训练哪个类的元素,即,多字符问题如何减少到一系列二元问题。GyD.F4y2Ba

编码设计的每一行对应一个不同的类,每一列对应一个二元学习者。在三元编码设计中,对于特定的列(或二元学习者):GyD.F4y2Ba

  • 包含1的一行指示二元学习者将对应类中的所有观察结果分组为一个积极类。GyD.F4y2Ba

  • 包含-1的行将二进制学习者指导将相应阶级的所有观测分组到负类中。GyD.F4y2Ba

  • 包含0的行指示二进制学习者忽略对应类中的所有观察值。GyD.F4y2Ba

基于汉明测度的大、最小、成对行距离的编码设计矩阵是最优的。关于双行距离的详细信息请参见GyD.F4y2Ba随机编码设计矩阵GyD.F4y2Ba和GyD.F4y2Ba[4]GyD.F4y2Ba.GyD.F4y2Ba

此表描述了流行的编码设计。GyD.F4y2Ba

编码设计GyD.F4y2Ba 描述GyD.F4y2Ba 学习者人数GyD.F4y2Ba 最小的成对行距离GyD.F4y2Ba
one-versus-all(卵子)GyD.F4y2Ba 对于每个二元学习者来说,有一类是正面的,其余的是负面的。这个设计用尽了积极的课堂作业的所有组合。GyD.F4y2Ba K.GyD.F4y2Ba 2GyD.F4y2Ba
一对 - 一(ovo)GyD.F4y2Ba 对于每一个二元学习者,一个类是积极的,另一个类是消极的,其余的则被忽略。该设计排除了类对分配的所有组合。GyD.F4y2Ba

K.GyD.F4y2Ba(GyD.F4y2BaK.GyD.F4y2Ba- 1) / 2GyD.F4y2Ba

1GyD.F4y2Ba
二进制文件完成GyD.F4y2Ba

这种设计将类划分为所有的二进制组合,并且不忽略任何类。也就是说,所有班级任务都是GyD.F4y2Ba1GyD.F4y2Ba和GyD.F4y2Ba1GyD.F4y2Ba对于每个二进制学习者的分配,至少有一个正类和一个负类。GyD.F4y2Ba

2GyD.F4y2BaK.GyD.F4y2Ba- 1GyD.F4y2Ba- 1GyD.F4y2Ba 2GyD.F4y2BaK.GyD.F4y2Ba- 2GyD.F4y2Ba
三元完成GyD.F4y2Ba

此设计将类分为所有三元组合。也就是说,所有班级任务都是GyD.F4y2Ba0.GyD.F4y2Ba那GyD.F4y2Ba1GyD.F4y2Ba,GyD.F4y2Ba1GyD.F4y2Ba对于每个二进制学习者的分配,至少有一个正类和一个负类。GyD.F4y2Ba

(3.GyD.F4y2BaK.GyD.F4y2Ba- 2GyD.F4y2BaK.GyD.F4y2Ba+ 1GyD.F4y2Ba+ 1)/ 2GyD.F4y2Ba

3.GyD.F4y2BaK.GyD.F4y2Ba- 2GyD.F4y2Ba
序数GyD.F4y2Ba 对于第一个二元学习者,第一堂课是消极的,其余的是积极的。对于第二个二元学习者,前两个类是否定的,其余类是肯定的,以此类推。GyD.F4y2Ba K.GyD.F4y2Ba- 1GyD.F4y2Ba 1GyD.F4y2Ba
密集的随机GyD.F4y2Ba 对于每个二进制学习者,软件将类分配为正或负类,每种类型中的至少一个。有关更多详细信息,请参阅GyD.F4y2Ba随机编码设计矩阵GyD.F4y2Ba.GyD.F4y2Ba

随机,但大约10个日志GyD.F4y2Ba2GyD.F4y2BaK.GyD.F4y2Ba

变量GyD.F4y2Ba
稀疏随机GyD.F4y2Ba 对于每个二进制学习者,软件随机将类别分配为正或负,概率为0.25,并忽略概率0.5的类。有关更多详细信息,请参阅GyD.F4y2Ba随机编码设计矩阵GyD.F4y2Ba.GyD.F4y2Ba

随机,但大约15个日志GyD.F4y2Ba2GyD.F4y2BaK.GyD.F4y2Ba

变量GyD.F4y2Ba

这张图比较了编码设计中二进制学习器的数量随增加而增加的情况GyD.F4y2BaK.GyD.F4y2Ba.GyD.F4y2Ba

错误修正输出代码模型GyD.F4y2Ba

一个GyD.F4y2Ba纠错输出码(ECOC)模型GyD.F4y2Ba将具有三个或更多类的分类问题简化为一组二元分类问题。GyD.F4y2Ba

ECOC分类需要编码设计,该编码设计确定二进制学习者训练的类和解码方案,它决定了二进制分类器的结果(预测)如何聚合。GyD.F4y2Ba

假设如下:GyD.F4y2Ba

  • 分类问题分为三类。GyD.F4y2Ba

  • 编码设计是一对一的。对于三个类,这个编码设计是GyD.F4y2Ba

    学习者1GyD.F4y2Ba 学习者2GyD.F4y2Ba 学习者3.GyD.F4y2Ba 第1级GyD.F4y2Ba 1GyD.F4y2Ba 1GyD.F4y2Ba 0.GyD.F4y2Ba 2级GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba 0.GyD.F4y2Ba 1GyD.F4y2Ba 3班GyD.F4y2Ba 0.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba

  • 解码方案使用损耗GyD.F4y2BaGGyD.F4y2Ba.GyD.F4y2Ba

  • 学习者是支持向量机。GyD.F4y2Ba

为了建立这个分类模型,ECOC算法遵循以下步骤。GyD.F4y2Ba

  1. 学习者1在1班或2班进行观察训练,将1班视为积极班,将2班视为消极班。其他学习者也接受类似的训练。GyD.F4y2Ba

  2. 让GyD.F4y2BamGyD.F4y2Ba是带有元素的编码设计矩阵GyD.F4y2BamGyD.F4y2Ba吉隆坡GyD.F4y2Ba,GyD.F4y2BaS.GyD.F4y2BaL.GyD.F4y2Ba为学习者积极类的预测分类得分GyD.F4y2BaL.GyD.F4y2Ba.算法将一个新的观测值分配给类(GyD.F4y2Ba K.GyD.F4y2Ba ^GyD.F4y2Ba ),使损失的总和最小化GyD.F4y2BaL.GyD.F4y2Ba二进制的学习者。GyD.F4y2Ba

    K.GyD.F4y2Ba ^GyD.F4y2Ba =GyD.F4y2Ba argminGyD.F4y2Ba K.GyD.F4y2Ba ∑GyD.F4y2Ba L.GyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba L.GyD.F4y2Ba 那GyD.F4y2Ba S.GyD.F4y2Ba L.GyD.F4y2Ba )GyD.F4y2Ba ∑GyD.F4y2Ba L.GyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba .GyD.F4y2Ba

与其他多键模型相比,ecoc模型可以提高分类准确性GyD.F4y2Ba[2]GyD.F4y2Ba.GyD.F4y2Ba

提示GyD.F4y2Ba

  • 二进制学习者数量的增长与类的数量。对于许多类的问题时,GyD.F4y2Ba二进制组合GyD.F4y2Ba和GyD.F4y2Ba短跑GyD.F4y2Ba编码设计是低效的。然而:GyD.F4y2Ba

    • 如果GyD.F4y2BaK.GyD.F4y2Ba≤4,则使用GyD.F4y2Ba短跑GyD.F4y2Ba编码设计而不是GyD.F4y2BasparserandomGyD.F4y2Ba.GyD.F4y2Ba

    • 如果GyD.F4y2BaK.GyD.F4y2Ba≤5,则使用GyD.F4y2Ba二进制组合GyD.F4y2Ba编码设计而不是GyD.F4y2BadenserandomGyD.F4y2Ba.GyD.F4y2Ba

    您可以通过输入显示培训的ECOC分类器的编码设计矩阵GyD.F4y2Bamdl.codingmatrix.GyD.F4y2Ba进入命令窗口。GyD.F4y2Ba

  • 您应该使用对应用程序的熟悉知识来形成一个编码矩阵,并考虑到计算约束。如果你有足够的计算能力和时间,那么尝试几个编码矩阵,并选择一个性能最好的(例如,检查每个模型使用的混淆矩阵GyD.F4y2BaconfusionchartGyD.F4y2Ba).GyD.F4y2Ba

  • 分析交叉验证(GyD.F4y2BaLeaveoutGyD.F4y2Ba)对于具有许多观察的数据集是效率低下。相反,使用GyD.F4y2BaK.GyD.F4y2Ba倍交叉验证(GyD.F4y2BaKFoldGyD.F4y2Ba).GyD.F4y2Ba

  • 培训模型后,您可以生成C / C ++代码,该代码预测新数据的标签。生成C / C ++代码需要GyD.F4y2BaMATLAB编码器™GyD.F4y2Ba.有关详细信息,请参阅GyD.F4y2Ba代码生成简介GyD.F4y2Ba.GyD.F4y2Ba

算法GyD.F4y2Ba

全部收缩GyD.F4y2Ba

自定义编码设计矩阵GyD.F4y2Ba

自定义编码矩阵必须具有某种形式。软件通过确保验证自定义编码矩阵:GyD.F4y2Ba

  • 每个元素为-1,0或1。GyD.F4y2Ba

  • 每一列至少包含一个-1和一个1。GyD.F4y2Ba

  • 对于所有不同的列向量GyD.F4y2Ba你GyD.F4y2Ba和GyD.F4y2BaV.GyD.F4y2Ba那GyD.F4y2Ba你GyD.F4y2Ba≠GyD.F4y2BaV.GyD.F4y2Ba和GyD.F4y2Ba你GyD.F4y2Ba≠-GyD.F4y2BaV.GyD.F4y2Ba.GyD.F4y2Ba

  • 所有行向量都是唯一的。GyD.F4y2Ba

  • 矩阵可以分离任意两个类。也就是说,你可以按照以下规则从任意一行移动到另一行:GyD.F4y2Ba

    • 你可以从1垂直移动到-1或-1垂直移动到1。GyD.F4y2Ba

    • 你可以从一个非零元素水平移动到另一个非零元素。GyD.F4y2Ba

    • 您只能使用矩阵的一列进行一次垂直移动。GyD.F4y2Ba

    如果无法从行移动GyD.F4y2Ba一世GyD.F4y2Ba行GyD.F4y2BajGyD.F4y2Ba使用这些规则,然后是课程GyD.F4y2Ba一世GyD.F4y2Ba和GyD.F4y2BajGyD.F4y2Ba不能用设计分开。例如,在编码设计中GyD.F4y2Ba

    [GyD.F4y2Ba 1GyD.F4y2Ba 0.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba 0.GyD.F4y2Ba 0.GyD.F4y2Ba 1GyD.F4y2Ba 0.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba ]GyD.F4y2Ba

    类1和2不能与类别3和4分开(即,您不能从第2行中的-1水平移动到第2列,因为该位置中有0个)。因此,该软件拒绝该编码设计。GyD.F4y2Ba

并行计算GyD.F4y2Ba

如果您使用并行计算(参见GyD.F4y2Ba选项GyD.F4y2Ba),然后GyD.F4y2BafitcecocGyD.F4y2Ba并行训练二元学习者。GyD.F4y2Ba

概率和成本GyD.F4y2Ba

  • 先前概率 - 软件将指定的类现有概率标准化(GyD.F4y2Ba事先的GyD.F4y2Ba)。让GyD.F4y2BamGyD.F4y2Ba是编码设计矩阵和GyD.F4y2Ba一世GyD.F4y2Ba(GyD.F4y2Ba一种GyD.F4y2Ba那GyD.F4y2BaCGyD.F4y2Ba)是指示器矩阵。指示矩阵具有与其相同的尺寸GyD.F4y2Ba一种GyD.F4y2Ba.的对应元素GyD.F4y2Ba一种GyD.F4y2Ba是GyD.F4y2BaCGyD.F4y2Ba,然后指示矩阵具有等于一个元素,否则为零。让GyD.F4y2BamGyD.F4y2Ba+1GyD.F4y2Ba和GyD.F4y2BamGyD.F4y2Ba-1GyD.F4y2Ba是GyD.F4y2BaK.GyD.F4y2Ba-经过-GyD.F4y2BaL.GyD.F4y2Ba这样的矩阵:GyD.F4y2Ba

    • mGyD.F4y2Ba+1GyD.F4y2Ba=GyD.F4y2BamGyD.F4y2Ba○GyD.F4y2Ba一世GyD.F4y2Ba(GyD.F4y2BamGyD.F4y2Ba,1),其中〇为元素乘法(即,GyD.F4y2BaMplus = M *(M == 1)GyD.F4y2Ba).同时,让GyD.F4y2Ba mGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba 是列向量GyD.F4y2BaL.GyD.F4y2Ba的GyD.F4y2BamGyD.F4y2Ba+1GyD.F4y2Ba.GyD.F4y2Ba

    • mGyD.F4y2Ba-1GyD.F4y2Ba= -GyD.F4y2BamGyD.F4y2Ba○GyD.F4y2Ba一世GyD.F4y2Ba(GyD.F4y2BamGyD.F4y2Ba1) (GyD.F4y2BaMminus = - m。* (M = = 1)GyD.F4y2Ba).同时,让GyD.F4y2Ba mGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba 是列向量GyD.F4y2BaL.GyD.F4y2Ba的GyD.F4y2BamGyD.F4y2Ba-1GyD.F4y2Ba.GyD.F4y2Ba

    让GyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba mGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba °GyD.F4y2Ba πGyD.F4y2Ba 和GyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba mGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba °GyD.F4y2Ba πGyD.F4y2Ba , 在哪里GyD.F4y2BaπGyD.F4y2Ba是指定的载体的矢量概率(GyD.F4y2Ba事先的GyD.F4y2Ba).GyD.F4y2Ba

    然后,给出二元学习者的正、负标量类先验概率GyD.F4y2BaL.GyD.F4y2Ba是GyD.F4y2Ba

    πGyD.F4y2Ba ^GyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba jGyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba ‖GyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba jGyD.F4y2Ba )GyD.F4y2Ba ‖GyD.F4y2Ba 1GyD.F4y2Ba ‖GyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba ‖GyD.F4y2Ba 1GyD.F4y2Ba +GyD.F4y2Ba ‖GyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba ‖GyD.F4y2Ba 1GyD.F4y2Ba 那GyD.F4y2Ba

    在哪里GyD.F4y2BajGyD.F4y2Ba= {1}GyD.F4y2Ba ‖GyD.F4y2Ba 一种GyD.F4y2Ba ‖GyD.F4y2Ba 1GyD.F4y2Ba 是一种规范吗GyD.F4y2Ba一种GyD.F4y2Ba.GyD.F4y2Ba

  • 成本-软件正常化GyD.F4y2BaK.GyD.F4y2Ba-经过-GyD.F4y2BaK.GyD.F4y2Ba成本矩阵GyD.F4y2BaCGyD.F4y2Ba(GyD.F4y2Ba成本GyD.F4y2Ba)。对于二进制学习者GyD.F4y2BaL.GyD.F4y2Ba,将负类观察归为正类观察的成本是GyD.F4y2Ba

    CGyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba +GyD.F4y2Ba =GyD.F4y2Ba (GyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba )GyD.F4y2Ba ⊤GyD.F4y2Ba CGyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba .GyD.F4y2Ba

    同样地,将一个积极的观察分类为消极的观察的代价是GyD.F4y2Ba

    CGyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba −GyD.F4y2Ba =GyD.F4y2Ba (GyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba )GyD.F4y2Ba ⊤GyD.F4y2Ba CGyD.F4y2Ba πGyD.F4y2Ba L.GyD.F4y2Ba (GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba )GyD.F4y2Ba .GyD.F4y2Ba

    二元学习者的代价矩阵GyD.F4y2BaL.GyD.F4y2Ba是GyD.F4y2Ba

    CGyD.F4y2Ba L.GyD.F4y2Ba =GyD.F4y2Ba [GyD.F4y2Ba 0.GyD.F4y2Ba CGyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba +GyD.F4y2Ba CGyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba −GyD.F4y2Ba 0.GyD.F4y2Ba ]GyD.F4y2Ba .GyD.F4y2Ba

    ECOC模型通过将其与课程概率合并来满足错误分类成本。如果您指定GyD.F4y2Ba事先的GyD.F4y2Ba和GyD.F4y2Ba成本GyD.F4y2Ba然后,该软件调整类的现有概率,如下所示:GyD.F4y2Ba

    πGyD.F4y2Ba ¯GyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba CGyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba +GyD.F4y2Ba πGyD.F4y2Ba ^GyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba CGyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba +GyD.F4y2Ba πGyD.F4y2Ba ^GyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba +GyD.F4y2Ba CGyD.F4y2Ba +GyD.F4y2Ba −GyD.F4y2Ba πGyD.F4y2Ba ^GyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba πGyD.F4y2Ba ¯GyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba =GyD.F4y2Ba CGyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba −GyD.F4y2Ba πGyD.F4y2Ba ^GyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba CGyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba +GyD.F4y2Ba πGyD.F4y2Ba ^GyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba 1GyD.F4y2Ba +GyD.F4y2Ba CGyD.F4y2Ba +GyD.F4y2Ba −GyD.F4y2Ba πGyD.F4y2Ba ^GyD.F4y2Ba L.GyD.F4y2Ba +GyD.F4y2Ba 1GyD.F4y2Ba .GyD.F4y2Ba

随机编码设计矩阵GyD.F4y2Ba

对于给定数量的课程GyD.F4y2BaK.GyD.F4y2Ba,该软件生成随机编码设计矩阵如下。GyD.F4y2Ba

  1. 软件生成这些矩阵之一:GyD.F4y2Ba

    1. 稠密随机-软件以相等的概率分配1或- 1给每个元素GyD.F4y2BaK.GyD.F4y2Ba-经过-GyD.F4y2BaL.GyD.F4y2BaD.GyD.F4y2Ba编码设计矩阵,在哪里GyD.F4y2Ba L.GyD.F4y2Ba D.GyD.F4y2Ba ≈GyD.F4y2Ba ⌈GyD.F4y2Ba 10.GyD.F4y2Ba 日志GyD.F4y2Ba 2GyD.F4y2Ba K.GyD.F4y2Ba ⌉GyD.F4y2Ba .GyD.F4y2Ba

    2. 稀疏随机 - 软件为每个元素分配1GyD.F4y2BaK.GyD.F4y2Ba-经过-GyD.F4y2BaL.GyD.F4y2BaS.GyD.F4y2Ba以0.25概率编码设计矩阵,-1以0.25概率编码设计矩阵,0以0.5概率编码设计矩阵GyD.F4y2Ba L.GyD.F4y2Ba S.GyD.F4y2Ba ≈GyD.F4y2Ba ⌈GyD.F4y2Ba 15.GyD.F4y2Ba 日志GyD.F4y2Ba 2GyD.F4y2Ba K.GyD.F4y2Ba ⌉GyD.F4y2Ba .GyD.F4y2Ba

  2. 如果一列不包含至少一个1和至少一个-1,则软件将删除该列。GyD.F4y2Ba

  3. 对于不同的列GyD.F4y2Ba你GyD.F4y2Ba和GyD.F4y2BaV.GyD.F4y2Ba, 如果GyD.F4y2Ba你GyD.F4y2Ba=GyD.F4y2BaV.GyD.F4y2Ba或GyD.F4y2Ba你GyD.F4y2Ba= -GyD.F4y2BaV.GyD.F4y2Ba,则软件会移除GyD.F4y2BaV.GyD.F4y2Ba从编码设计矩阵。GyD.F4y2Ba

软件默认随机生成10,000个矩阵,并保留最大、最小、基于汉明度量的成对行距离矩阵(GyD.F4y2Ba[4]GyD.F4y2Ba)给出GyD.F4y2Ba

δ.GyD.F4y2Ba (GyD.F4y2Ba K.GyD.F4y2Ba 1GyD.F4y2Ba 那GyD.F4y2Ba K.GyD.F4y2Ba 2GyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba 0.5GyD.F4y2Ba ∑GyD.F4y2Ba L.GyD.F4y2Ba =GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba 2GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba |GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba 1GyD.F4y2Ba L.GyD.F4y2Ba −GyD.F4y2Ba mGyD.F4y2Ba K.GyD.F4y2Ba 2GyD.F4y2Ba L.GyD.F4y2Ba |GyD.F4y2Ba 那GyD.F4y2Ba

在哪里GyD.F4y2BamGyD.F4y2BaK.GyD.F4y2BajGyD.F4y2BaL.GyD.F4y2Ba是编码设计矩阵的一个元素吗GyD.F4y2BajGyD.F4y2Ba.GyD.F4y2Ba

金宝app支持向量存储GyD.F4y2Ba

默认情况下,为了效率,GyD.F4y2BafitcecocGyD.F4y2Ba清空GyD.F4y2BaαGyD.F4y2Ba那GyD.F4y2Ba金宝appSupportVectorLabels.GyD.F4y2Ba,GyD.F4y2Ba金宝appSupportVectorsGyD.F4y2Ba所有线性支持向量机二进制学习器的性质。GyD.F4y2BafitcecocGyD.F4y2Ba清单GyD.F4y2BaβGyD.F4y2Ba,而不是GyD.F4y2BaαGyD.F4y2Ba,显示在模型中。GyD.F4y2Ba

储藏GyD.F4y2BaαGyD.F4y2Ba那GyD.F4y2Ba金宝appSupportVectorLabels.GyD.F4y2Ba,GyD.F4y2Ba金宝appSupportVectorsGyD.F4y2Ba,传递一个指定存储支持向量的线性SVM模板金宝appGyD.F4y2BafitcecocGyD.F4y2Ba.例如,输入:GyD.F4y2Ba

t = templatesvm(GyD.F4y2Ba“Save金宝appSupportVectors”GyD.F4y2Ba,真)MDL = fitcecoc(X,Y,GyD.F4y2Ba'学习者'GyD.F4y2Bat);GyD.F4y2Ba

您可以通过传递结果来删除支持向量和相关金宝app值GyD.F4y2BaClassificationECOCGyD.F4y2Ba模型到GyD.F4y2Badiscard金宝appSupportVectorsGyD.F4y2Ba.GyD.F4y2Ba

参考文献GyD.F4y2Ba

艾尔温,E.夏皮尔,Y.辛格。《将多类减少为二进制:一种统一的保证金分类方法》。GyD.F4y2Ba机器学习研究杂志GyD.F4y2Ba.2000年第1卷,113-141页。GyD.F4y2Ba

[2] Fürnkranz,约翰内斯,《轮循分类》。GyD.F4y2Baj·马赫。学习。Res。GyD.F4y2Ba, 2002年第2卷,721-747页。GyD.F4y2Ba

Pujol, S. Escalera, S. O. Pujol, P. Radeva。《论三元纠错输出码的译码过程》。GyD.F4y2Ba模式分析与机器智能学报GyD.F4y2Ba.2010年第32卷第7期120-134页。GyD.F4y2Ba

Pujol, S. Escalera, S. O. Pujol, P. Radeva。用于纠错输出码稀疏设计的三元码的可分性。GyD.F4y2Ba模式recog。吧。GyD.F4y2Ba, Vol. 30, Issue 3, 2009, pp. 285-297。GyD.F4y2Ba

扩展功能GyD.F4y2Ba

介绍了R2014bGyD.F4y2Ba