通过反复的交叉验证的两种分类模型的精度比较
testckfold
统计学评估两种分类模型通过反复交叉验证这两个模型中,确定在分类损失的差异,然后通过组合分类损耗差异配制检验统计量的准确度。当样本大小被限制这种类型的测试是特别适合的。
您可以评估分类模型的准确度是否不同,还是比另外一个分类模型执行得更好。可用的测试包括一个5×2配对t试验中,将5×2配对F测试,和一个10×10次重复交叉验证t测试。有关更多细节,请参见重复交叉验证测试。为了加快计算速度,testckfold
万博1manbetx支持并行计算(需要并行计算工具箱™许可证)。
在每一个节点,fitctree
选择默认情况下使用穷举搜索到分裂的最佳预测。另外,您也可以选择拆分预测昭示着与曲率进行测试的响应依赖的最证据。此示例统计学比较的分类树通过穷举搜索最佳分裂生长和生长通过用相互作用进行曲率测试。
加载census1994
数据集。
负载census1994.matRNG(1)%用于重现
使用训练集生成默认的分类树,adultdata
,这是一个表。响应变量名是'薪水'
。
C1 = fitctree(adultdata,'薪水')
ClassNames: [<=50K >50K] ScoreTransform: 'none' NumObservations: 32561个属性,方法
C1
是一个完整的ClassificationTree
模型。它的ResponseName
属性'薪水'
。C1
使用穷举搜索,以最大分裂增益为基础,找出最佳分割预测器。
使用相同的数据集生成另一棵分类树,但指定使用带有交互的曲率测试找到最好的预测器进行分割。
C2 = fitctree (adultdata,'薪水',“PredictorSelection”,“interaction-curvature”)
C2 = ClassificationTree PredictorNames:{1x14细胞} ResponseName: '工资' CategoricalPredictors:[2 4 6 7 8 9 10 14]的类名:[<= 50K> 50K] ScoreTransform: '无' NumObservations:32561的属性,方法
C2
也就是一个完整的ClassificationTree
模型与ResponseName
等于'薪水'
。
进行一个5乘2配对F测试比较使用训练集两种模型的精度。因为在数据集和所述响应的变量名ResponseName
属性都是相等的,并且两个集合中的响应数据都是相等的,因此可以省略提供响应数据。
h = testckfold (C1、C2、adultdata adultdata)
H =逻辑0
h = 0
表示不拒绝原假设C1
和C2
在5%的水平上具有相同的精度。
进行统计检验使用5×2配对比较两种模式的误判率F测试。
加载费舍尔的虹膜数据集。
负载fisheriris;
创建一个朴素贝叶斯模板,并使用默认选项分类树模板。
C1 = templateNaiveBayes;C2 = templateTree;
C1
和C2
是分别对应于朴素贝叶斯和分类树算法,模板对象。
测试的两款车型是否具有相同的预测精度。使用相同的预测数据为每个模型。testckfold
执行一个5×2的,双面的,成对的F默认情况下测试。
RNG(1);%用于重现H = testckfold(C1,C2,Meas,测量,物种)
H =逻辑0
h = 0
表示不拒绝零假设,这两个车型具有相同的预测精度。
进行统计测试来评估一个简单的模型是否有更好的精度比使用10×10重复交叉验证更复杂的模型t测试。
加载费舍尔的虹膜数据集。创建一个成本矩阵惩罚误分为setosa虹膜两倍误分为弗吉尼亚光圈为花斑癣。
负载fisheriris;汇总(物种)
值计数百分比setosa 50 33.33%50花斑癣33.33%锦葵50 33.33%
Cost = [0 2 2;2 0 1;2 10 0];一会= {'setosa'“花斑癣”“弗吉尼亚”};...%指定成本的行和列的顺序
分类的经验分布是均匀的,分类代价有轻微的不平衡。
创建两个ECOC模板:一种使用线性SVM二进制学习者和一个使用SVM二进制学习者配备了RBF内核。
tSVMLinear = templateSVM(“标准化”,真正);%线性SVM默认tSVMRBF = templateSVM ('KernelFunction',“RBF”,“标准化”,真正);C1 = templateECOC(“学习者”,tSVMLinear);C2 = templateECOC(“学习者”,tSVMRBF);
C1
和C2
在ECOC模板对象。C1
为线性支持向量机准备。C2
为准备SVM与RBF核训练。
测试零假设简单的模型(C1
)的精确程度,顶多与较复杂的模型(C2
)在分类成本方面。进行10×10次重复交叉验证测试。请求返回p-价值和误分类成本。
RNG(1);%用于重现[H,P,E1,E2] = testckfold(C1,C2,Meas,测量,物种,...“另类”,“更大的”,'测试','10x10t','成本',成本,...“类名”,类名)
H =逻辑0
p = 0.1077
e1 =10×100 0 0 0.0667 0 0.0667 0.1333 0 0.1333 0 0.0667 0.0667 0 0 0 0 0.0667 0 0.0667 0.0667 0 0 0 0 0 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0 0.0667 0 0.0667 0 0 0.0667 0 0.0667 0.0667 0.0667 0 0.0667 0.0667 0 0 0 00 0 0.1333 0 0 0.0667 0 0 0.0667 0.0667 0.0667 0.0667 0 0 0.0667 0 0 0.0667 0 0.0667 0.0667 0 0.0667 0.0667 0 0.1333 0 0.0667 0 0 0 0.0667 0.1333 0.0667 0.0667 0 0 0 0 0 0 0.0667 0.0667 0.0667 0.0667 0 0 0.0667 0 0
E2 =10×100 0 0 0 0 0 0.0667 0.1333 0.1333 0.2667 0.0667 - 0.0667 0.1333 0 0 0 0 0 0 0 0 0.0667 0.1333 0.1333 0.0667 0.1333 0.1333 0.0667 0.0667 0.0667 0.1333 0.0667 0.0667 0.1333 0.1333 0 0 0 0 0 0 0.0667 0.0667 0.0667 0.0667 0.1333 0.1333 0.0667 0.0667 0.0667 - 0.0667 0 0.0667 0.1333 0.0667 0.0667 0.2000 0.0667 0 0 0 0 0 0.1333 0.0667 0.2000 0.0667 0 0 0.0667 0.1333 0.1333 0 0 0 0 0 0 0 0 0 0.2000 0.1333 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.1333 0.0667 0.0667 - 0.1333 0 0
的p- 值小于0.10,这表明保留零假设简单的模型是最多那么精确更复杂的模型稍大。这个结果是任何显着性水平是一致的(Α
)最多是0.10。
E1
和E2
是10×10含误分类成本矩阵。行r对应于运行r重复交叉验证。列k对应于测试集折叠k一个特定的交叉验证运行范围内。的例如,元件(2,4)E2
是0.1333。这个值的装置是,在交叉验证运行如图2所示,当测试组是折叠图4中,估计的测试集误分类代价是0.1333。
通过从更大的集合中选择一个预测变量(特征)子集来降低分类模型的复杂性,然后统计比较两种模型的准确性。
加载电离层
数据集。
负载电离层;
使用AdaBoostM1和整个预测器集训练100个提升分类树的集合。检查每个预测器的重要性度量。
T = templateTree('MaxNumSplits'1);%弱学习者模板树对象C = fitcensemble(X,Y,'方法','AdaBoostM1',“学习者”,T);predImp = predictorImportance(C);数字;巴(predImp);H = GCA;h.XTick = 1:2:h.XLim(2);标题(“预测重要度”);xlabel(“预测”);ylabel(的重要措施);
找出5个最重要的预测因素。
[〜,idxSort] =排序(predImp,“降序”);idx5 = idxSort (1:5);
测试的两款车型是否具有相同的预测精度。指定减少数据集,然后充分预测数据。使用并行计算来加速计算。
S = RandStream('mlfg6331_64');选项= statset(“UseParallel”,真正,“流”,S,'UseSubstreams',真正);[H,P,E1,E2] = testckfold(C,C,X(:,idx5对应)中,X,Y,“选项”选项)
使用“本地”配置文件启动并行池(parpool)…连接到并行池(worker数量:4)。
H =逻辑0
p = 0.4161
e1 =5×20.0686 0.0795 0.0800 0.0625 0.0914 0.0568 0.0400 0.0739 0.0914 0.0966
E2 =5×20.0914 0.0625 0.1257 0.0682 0.0971 0.0625 0.0800 0.0909 0.0914 0.1193
testckfold
将经过训练的分类模型作为模板,忽略所有拟合的参数C
。也就是说,testckfold
跨只会验证C
仅使用指定的选项和预测器数据来估计超出折叠的分类损失。
h = 0
表示不拒绝零假设,这两个车型具有相同的预测精度。这一结果有利于更简单的合奏。
C1
- - - - - -分类模型模板或训练后的分类模型分类模型模板或受过训练的分类模型,指定为任何分类模型模板对象或这些表中所述训练的分类模型对象。
模板类型 | 返回的 |
---|---|
分类树 | templateTree |
判别分析 | templateDiscriminant |
集成(推进、套袋和随机子空间) | templateEnsemble |
纠错输出编码(ECOC),多类分类模型 | templateECOC |
kNN | templateKNN |
朴素贝叶斯 | templateNaiveBayes |
万博1manbetx支持向量机 | templateSVM |
训练有素的型号类型 | 模型对象 | 返回的 |
---|---|---|
分类树 | ClassificationTree |
fitctree |
判别分析 | ClassificationDiscriminant |
fitcdiscr |
乐团袋装分类模型 | ClassificationBaggedEnsemble |
fitcensemble |
集成分类模型 | ClassificationEnsemble |
fitcensemble |
ECOC模型 | ClassificationECOC |
fitcecoc |
kNN | ClassificationKNN |
fitcknn |
朴素贝叶斯 | ClassificationNaiveBayes |
fitcnb |
SVM | ClassificationSVM |
fitcsvm |
为了提高效率,提供而不是训练的分类模型对象分类模型模板对象。
C2
- - - - - -分类模型模板或训练模型分类模型模板或受过训练的分类模型,指定为任何分类模型模板对象或这些表中所述训练的分类模型对象。
模板类型 | 返回的 |
---|---|
分类树 | templateTree |
判别分析 | templateDiscriminant |
集成(推进、套袋和随机子空间) | templateEnsemble |
纠错输出编码(ECOC),多类分类模型 | templateECOC |
kNN | templateKNN |
朴素贝叶斯 | templateNaiveBayes |
万博1manbetx支持向量机 | templateSVM |
训练有素的型号类型 | 模型对象 | 返回的 |
---|---|---|
分类树 | ClassificationTree |
fitctree |
判别分析 | ClassificationDiscriminant |
fitcdiscr |
乐团袋装分类模型 | ClassificationBaggedEnsemble |
fitcensemble |
集成分类模型 | ClassificationEnsemble |
fitcensemble |
ECOC模型 | ClassificationECOC |
fitcecoc |
kNN | ClassificationKNN |
fitcknn |
朴素贝叶斯 | ClassificationNaiveBayes |
fitcnb |
SVM | ClassificationSVM |
fitcsvm |
为了提高效率,提供而不是训练的分类模型对象分类模型模板对象。
Y
- - - - - -真正的类标签真类标签,指定为分类,字符或字符串数组,逻辑或数字向量,特征向量的单元阵列,或字符向量或标量的字符串。
对于一个字符向量或标量的字符串,X1
和X2
必须是表,他们的反应变量必须具有相同的名称和价值观,Y
必须是共同的变量名。例如,如果X1.Labels
和X2.Labels
那么,响应变量是多少Y
是“标签”
和X1.Labels
和X2.Labels
必须等同。
对于所有其他支持的数据类型,万博1manbetxY
是一个真正的类标签数组。
如果Y
是一个字符数组,那么每个元素必须对应于数组的一行。
X1
,X2
,Y
必须有相同数量的观测(行)。
如果这两个表述都是正确的,那么可以省略supplyY
。
因此,testckfold
使用表中的公共响应变量。例如,如果表中的响应变量是X1.Labels
和X2.Labels
的值C1.ResponseName
和C2.ResponseName
是“标签”
,那么你就不必供应了Y
。
数据类型:分类
|烧焦
|串
|逻辑
|单
|双
|细胞
的可选逗号分隔对名称,值
参数。的名字
参数名和值
是对应的值。的名字
必须出现在引号内。可以按任意顺序指定多个名称和值对参数名1,值1,...,NameN,值N
。
“替代”、“大”、“测试”,“10 x10t”、“选项”,statsset (UseParallel,真的)
指定到测试是否所述第一组第一预测类别标签的是比第二组更精确,以进行10×10 t检验,并且使用并行计算为交叉验证。
'Α'
- - - - - -假设检验显着性水平0.05
(默认)|在区间标量值(0,1)假设检验显著性水平,指定为逗号分隔对所组成'Α'
和在区间(0,1)的标量值。
例子:'阿尔法',0.1
数据类型:单
|双
“另类”
- - - - - -可供评估的备择假设'不等'
(默认)|“更大的”
|'减'
'X1CategoricalPredictors'
- - - - - -标志识别范畴谓词[]
(默认)|逻辑向量|数字矢量|“所有”
标志识别所述第一测试组预测数据分类预测(X1
),指定为逗号分隔的一对组成的'X1CategoricalPredictors'
和以下其中之一:
从指数的数值矢量1
通过p
,其中p
的列数是X1
。
长度的逻辑矢量p
,一个真正
条目的意思是对应的列X1
是一个分类变量。
“所有”
,意味着所有的预言者都是绝对的。
规格X1CategoricalPredictors
是合适的,如果:
至少有一个预测是绝对的和C1
是分类树、分类树的集合、ECOC模型或朴素贝叶斯分类模型。
所有的预测都是绝对的和C1
是一个k神经网络分类模型。
如果您指定X1CategoricalPredictors
对于任何其它情况,那么testckfold
抛出一个错误。例如,该函数不能使用范畴预测器来训练SVM学习者。
默认值是[]
,表示不存在绝对的预言者。
例子:'X1CategoricalPredictors', '所有'
数据类型:单
|双
|逻辑
|烧焦
|串
“X2CategoricalPredictors”
- - - - - -标志识别范畴谓词[]
(默认)|逻辑向量|数字矢量|“所有”
标志识别所述第二测试组预测数据分类预测(X2
),指定为逗号分隔的一对组成的“X2CategoricalPredictors”
和以下其中之一:
从指数的数值矢量1
通过p
,其中p
的列数是X2
。
长度的逻辑矢量p
,一个真正
条目的意思是对应的列X2
是一个分类变量。
“所有”
,意味着所有的预言者都是绝对的。
规格X2CategoricalPredictors
是合适的,如果:
至少有一个预测是绝对的和C2
是分类树、分类树的集合、ECOC模型或朴素贝叶斯分类模型。
所有的预测都是绝对的和C2
是一个k神经网络分类模型。
如果您指定X2CategoricalPredictors
对于任何其它情况,那么testckfold
抛出一个错误。例如,该函数不能使用范畴预测器来训练SVM学习者。
默认值是[]
,表示不存在绝对的预言者。
例子:'X2CategoricalPredictors', '所有'
数据类型:单
|双
|逻辑
|烧焦
|串
“类名”
- - - - - -类名'成本'
- - - - - -成本分类分类成本,指定为逗号分隔的一对组成的'成本'
以及一个方阵或结构数组。
对于成本敏感的测试中使用,testcholdout
。
它是提供用于训练分类模型相同的成本矩阵的最佳做法。
默认值是成本(i, j) = 1
如果I〜= j的
,成本(i, j) = 0
如果我=我
。
例子:'Cost',[0 1 2;1 0 2;2 2 0)
数据类型:双
|单
|结构体
'LossFun'
- - - - - -损失函数'classiferror'
(默认)|“binodeviance”
|“指数”
|'合页'
|函数处理损耗函数,指定为逗号分隔的一对组成的'LossFun'
和'classiferror'
,“binodeviance”
,“指数”
,'合页'
或功能句柄。
下表列出了可用的损失函数。
值 | 损失函数 |
---|---|
“binodeviance” |
二项式越轨 |
'classiferror' |
分类错误 |
“指数” |
指数损失 |
'合页' |
铰链损失 |
使用函数句柄符号指定自己的函数。
假设N =尺寸(X,1)
样本容量是多少K
独特的类。你的函数必须有签名lossvalue =
,地点:lossfun
(C,S,W,成本)
输出参数lossvalue
是一个标量。
lossfun
是函数的名称。
C
是一个n
-通过-K
与指示对应的观察属于哪个类行逻辑矩阵。列顺序对应于所述类顺序一会
名称-值对的论点。
构造C
通过设置C(P,Q)= 1
如果观察p
是在课堂上问
,对于每一行。组行的所有其他元素p
至0
。
年代
是一个n
-通过-K
分类分数的数字矩阵。列顺序对应于所述类顺序一会
名称-值对的论点。年代
为分类分数矩阵。
W
是一个n
×1观察权重的数值向量。如果您通过W
,软件标准化的权重总和为1
。
成本
是一个K
-通过-K
分类成本的数字矩阵。例如,Cost = ones(K) - eye(K)
指定的成本0
对于正确的分类和成本1
误分类。
使用指定功能'LossFun',@
。lossfun
“选项”
- - - - - -并行计算方案[]
(默认)|结构阵列返回的statset
并行计算选项,指定为逗号分隔的一对组成的“选项”
以及返回的结构数组statset
。这些选项需要并行计算工具箱。testckfold
使用“流”
,“UseParallel”
,'UseSubtreams'
领域。
此表总结了可用的选项。
选项 | 描述 |
---|---|
“流” |
一个
在这种情况下,使用相同的大小作为平行池的单元阵列。如果并行游泳池不开放,那么软件会尝试(根据自己的喜好)开放的,并 |
“UseParallel” |
如果您有并行计算工具箱,那么你可以通过调用设置的工人池'UseParallel',真 。 |
'UseSubstreams' |
设置为真正 指定的流并行计算“流” 。默认值是假 。例如,一套流 一种类型的允许子,如'mlfg6331_64' 要么'mrg32k3a' 。 |
例子:'选项',statset( 'UseParallel',真)
数据类型:结构体
“之前”
- - - - - -先验概率'经验'
(默认)|'制服'
|数字矢量|结构体先验概率为每个类,指定为逗号分隔的一对组成的“之前”
和'经验'
,'制服'
,数字载体或结构。
此表概括了用于设置先验概率可用的选项。
值 | 描述 |
---|---|
'经验' |
类先验概率是类的相对频率Y 。 |
'制服' |
所有类先验概率都等于1/K,其中K是的类的数量。 |
数字矢量 | 每个元素都是一个类的先验概率。属性指定订单一会 名称-值对的论点。该软件标准化的元件,使得它们的和为1 。 |
结构体 | 的结构
|
例子:'之前',结构( '类名',{{ 'setosa', '云芝'}}, 'ClassProbs',[1,2])
数据类型:烧焦
|串
|单
|双
|结构体
'测试'
- - - - - -测试行为'5x2F'
(默认)|'5x2t'
|'10x10t'
“详细”
- - - - - -详细级别0
(默认)|1
|2
冗长级别,指定为逗号分隔的对,由“详细”
和0
,1
, 要么2
。详细的
控制的诊断信息,所述软件显示在命令窗口的每个交叉验证的训练期间折叠的量。
此表总结了可用的详细级别选项。
值 | 描述 |
---|---|
0 |
该软件不显示诊断信息。 |
1 |
每次实现新的交叉验证运行时,该软件都会显示诊断消息。 |
2 |
每次训练上的特定折叠时它实现一个新的交叉验证运行每一次,和所述软件显示的诊断消息。 |
例子:'冗长',1
数据类型:双
|单
“权重”
- - - - - -观察权重酮(大小(X,1),1)
(默认)|数字矢量观察权重,指定为逗号分隔的一对组成的“权重”
和数字矢量。
的大小权重
的行数必须等于X1
。该软件对每一行的观察结果进行权衡X
加上相应的权值权重
。
该软件规格化权重
总结在相应类的先验概率的值。
数据类型:双
|单
testckfold
将经过训练的分类模型视为模板。因此,忽略模型中所有拟合参数。也就是说,testckfold
仅使用模型中指定的选项和预测器数据进行交叉验证。
重复交叉验证检验依赖于零假设下检验统计量渐近正态的假设。高度不平衡的成本矩阵(例如,成本
=[0 100 1 0]
)和高度的离散响应分布(即,大部分的观察是在一个小数量的类)可能违反渐近正态假设。对于成本敏感的测试,使用testcholdout
。
南
S,<未定义>
值,空字符向量(”
)、空字符串(“”
),<缺失>
值表示丢失的数据值。
h
-假设检验结果1
|0
p
- - - - - -p-值p-测试的值,作为区间[0,1]中的标量返回。p
给定零假设为真,随机检验统计量至少与观察到的检验统计量一样极端的概率。
testckfold
估计p
使用检验统计量,其与测试的类型而变化的分布。有关测试统计的详细信息,请参阅重复交叉验证测试。
反复交叉验证测试结合数据反复交叉验证产生的分类损失差异,形成检验统计量,比较两种分类模型的准确率。当样本量有限时,重复交叉验证试验是有用的。
要进行一次R-通过-K测试:
随机分(按类分层)预测数据集和真实类标签进入K集,R次了。每个分部称为a跑每一组内运行被称为折。每次运行都包含完整但分割的数据集。
对于运行r= 1到R,重复这些步骤k= 1到K:
储备倍k作为测试组,并使用在其余各自的预测数据集训练所述两个分类模型K- 1倍。
使用训练过的模型和它们各自的折线预测类标签k预测数据集。
将两组估计的标签与真实的标签进行比较,估计分类损失。表示 作为分类损失当测试组是折k在运行r分类模型c。
计算两个模型的分类损耗之间的区别:
在跑步的最后,有K每个分类模型的分类损失。
合并步骤2的结果。为每一个r= 1到R:
估计差异的折内平均值及其平均值:
估计差异的总体平均值:
估计差异的折内方差:
估计的内倍差的平均值:
估计的差的总体样本方差:
计算检验统计量。所有支持万博1manbetx试验这里描述的假设,下H0时,估计差是独立的,近似正态分布,均值为0,有一个有限的公共标准差。但是,这些测试违反了独立性假设,因此测试统计量分布是近似的。
重复交叉验证测试相对于成对测试的优点是结果更具有可重复性[3]。缺点是它们需要较高的计算资源。
分类损失表示分类模型或预测的标签集的准确度。通常,对于一个固定的成本矩阵,分类精度作为分类损失增加而减小。
testckfold
返回分类损失(见E1
和E2
)备择假设下(即,无限制分类损失)。在下面的定义:
分类的损失集中于第一个分类模型。第二个模型分类的损失是相似的。
n测试是测试设置样本大小。
我(x)为指示函数。如果x是一个真正的声明,然后我(x)= 1。否则,我(x)= 0。
分类模型1预测的分类分配是否可供观察j。
yj观察的真正分类标签是什么j。
方式比较模型的例子包括:
通过将同一组预测数据的比较简单的分类模型和更复杂的模型的精度。
用两组不同的预测器比较两种不同模型的准确性。
执行各种类型的特征选择。例如,你可以比较使用一组预测的一个受过训练的一个子集或不同的一组预测的准确性培养了模型的准确性。您可以任意选择一组预测的,或使用像PCA或顺序特征选择特征选择技术(见主成分分析
和sequentialfs
)。
如果这两个表述都是正确的,那么可以省略supplyY
。
因此,testckfold
使用表中的公共响应变量。
执行成本不敏感特征选择的一种方法是:
创建描述第一个分类模型的分类模型模板(C1
)。
创建一个表征第二分类模型分类模型模板(C2
)。
指定两个预测数据集。例如,指定X1
为充分预测和集X2
作为一个简化集。
输入testckfold(C1,C2,X1,X2,Y, '替代', '少')
。如果testckfold
返回1
,然后有足够的证据表明分类模型使用较少的预测变量进行比使用完全预测结果集合模型更好。
或者,您可以评估两种模型的准确性之间是否存在显著差异。要执行此评估,请删除“替代”,“少”
说明书中第4步。testckfold
进行双边测试,和h = 0
表明没有足够的证据表明这两个模型的精度差。
该测试适用于错误率分类损失,但您可以指定其他丢失函数(请参阅LossFun
)。关键的假设,估计的分类损失是独立的并且通常与双面零假设下均值为0,有限共同方差分布。比错误率等分类的损失也不能违反这个假设。
高度离散的数据、不平衡的类和高度不平衡的代价矩阵会违反分类损失差异的正态性假设。
如果指定要进行10×10重复交叉验证t测试使用“测试”、“10 x10t
,然后testckfold
使用10个自由度的t分布,能够找到的关键区域,并估计p-值。有关更多细节,请参见[2]和[3]。
使用testcholdout
:
对于样本容量较大的测试集
实现不同的McNemar测试,比较两种分类模型的精度
对于使用卡方或似然比检验成本敏感的测试。卡方检验用途quadprog
,这需要一个优化工具箱™许可证。
[1] Alpaydin,E.“组合的5×2 CV F测试,用于比较监督分类学习算法”。神经计算卷。11,第8期,1999,第1885至1992年。
bouckaer [2]。在基于校准测试的两种学习算法中进行选择。国际机器学习会议, 2003,第51-58页。
[3] Bouckaert,R.,和E.弗兰克。“评估显着性检验的学习算法相比的可复制性。”在知识发现和数据挖掘,8日太平洋亚洲会议进展,2004年,第3-12。
[4] Dietterich,T.“近似的统计测试,用于比较监督分类学习算法”。神经计算《中华人民共和国宪法》,1998年第10卷第7期,1895-1923页。
[5] Hastie的,T.,R. Tibshirani,和J.弗里德曼。统计学习的要素,第2版。纽约:施普林格,2008年。
并行运行,设置“UseParallel”
选项真正
。
设置“UseParallel”
选项结构的场真正
运用statset
并指定“选项”
名称 - 值对的参数在调用此函数。
例如:'选项',statset( 'UseParallel',真)
欲了解更多信息,请参阅“选项”
名称-值对的论点。
有关并行计算更一般的信息,请参见运行MATLAB函数与自动并行支持万博1manbetx(并行计算工具箱)。
templateDiscriminant
|templateECOC
|templateEnsemble
|templateKNN
|templateNaiveBayes
|templateSVM
|templateTree
|testcholdout
您点击了对应于以下MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。