在matlab中进行交叉验证

时间:2015-03-24 09:01:29

标签: matlab cross-validation

我在crossval的文档中读到,matlab中的mcr = crossval('mcr',X,y,'Predfun',predfun)函数计算错误分类率,但如果它适用于10倍交叉验证,那么我们将有错误分类的10个不同值,因为我们进行了10次测试,并且每次测试都产生了结果,但值mcr是单个或标量的,所以它是采用平均错误分类率还是它取最小值。 .etc?

1 个答案:

答案 0 :(得分:2)

使用平均错误分类率(所有折叠和所有蒙特卡罗重新分配)。以下crossval行演示了平均损失的计算 -

loss = sum(loss)/ (mcreps * sum(cvp.TestSize));

其中loss最初是每个交叉验证折叠和每次重新分区的损失向量,mcreps是重新分区的数量,sum(cvp.TestSize)是交叉验证的总大小测试集。

这用于MSE(均方误差)和MCR丢失函数。