主要内容

kfoldfun

使用交叉验证ECOC模型进行交叉验证

描述

例子

瓦尔斯= kfoldfun (CVMdl有趣的旨在功能有趣的通过应用有趣的到存储在交叉验证ECOC模型中的数据CVMdl.你必须通过有趣的作为函数句柄。

例子

全部折叠

训练一个多类ECOC分类器,然后使用自定义交叉验证模型k倍损失函数。

载入费雪的虹膜数据集。指定预测器数据X,响应数据Y,和班级的顺序Y

负载fisheririsX =量;Y =分类(物种);classOrder =独特(Y);%课堂秩序rng (1);%的再现性

使用支持向量机(SVM)二分类器训练和交叉验证ECOC模型。万博1manbetx使用SVM模板标准化预测器,并指定类的顺序。

t = templateSVM (“标准化”1);CVMdl = fitcecoc (X, Y,“CrossVal”“上”“学习者”t...“类名”, classOrder);

CVMdl是一个ClassificationPartitionedECOC模型。默认情况下,该软件实现10倍交叉验证。

计算验证倍数观测的分类误差(误分类观测的比例)。

L = kfoldLoss (CVMdl)
L = 0.0400

将花错分类的代价为多色的10其他任何错误的代价是1.编写一个名为noversicolor这赋值为1对于一般的错误分类和成本10把花错分类为多色的

如果在本例中使用活动脚本文件,则noversicolor函数已经包含在文件的末尾。否则,您需要在.m文件的末尾创建这个函数,或者将其作为文件添加到MATLAB路径中。

计算的平均误分类误差noversicolor成本。

foldLoss = kfoldfun (CVMdl @noversicolor);意思是(foldLoss)
ans =0.0667

这段代码创建了这个函数noversicolor

函数averageCost = noversicolor (CMP、Xtrain Ytrain, Wtrain, Xtest,欧美,wte)% noversicolor:示例自定义交叉验证函数,指定的成本迷彩虹膜误分类费用为10%,误分类费用为1%其他的虹膜。本示例函数需要fishiris数据%设置。Xtest Ypredict =预测(CMP);更进一步的=不(strcmp (Ypredict、欧美));%不同的结果classifiedAsVersicolor = strcmp (Ypredict,“多色的”);错误决策指数成本= sum(误分类)+...9 *和& classifiedAsVersicolor分类错误();%的总差异averageCost =单(成本/元素个数(欧美));平均误差百分比结束

输入参数

全部折叠

交叉验证ECOC模型,指定为ClassificationPartitionedECOC模型。

交叉验证的函数,指定为函数句柄。有趣的这个语法:

testvals =乐趣(CMP、Xtrain Ytrain, Wtrain, Xtest,欧美,wte)
  • CMP压缩模型是否存储在CVMdl。训练有素的财产。

  • Xtrain为预测值的训练矩阵。

  • Ytrain为响应值的训练数组。

  • Wtrain为观察的训练权重集。

  • Xtest欧美验证数据是否具有相关的权重wte

  • 返回值testvals所有折叠的尺寸必须相同。

数据类型:function_handle

输出参数

全部折叠

交叉验证结果,以数字矩阵的形式返回。瓦尔斯的数组testvals输出,垂直连接所有的折叠。例如,如果testvals每个折叠都是一个长度的数字向量nkfoldfun返回一个KFold——- - - - - -n数字矩阵,每折叠一行。

扩展功能

介绍了R2014b