matlab中的交叉验证
cross Validation in matlab
我在crossval的文档中看到,matlab中的mcr = crossval('mcr',X,y,'Predfun',predfun)
函数计算误分类率,但是如果应用10倍交叉验证,那么我们将有10个不同的错误分类的值,因为我们做了 10 次测试,每次测试都会产生一个结果,但是值 mcr
是单一的或标量的,那么它是取平均错误分类率还是取最小值..等等?
使用平均误分类率(跨所有折叠和所有蒙特卡洛重新分区)。下面这行crossval
演示了平均损失的计算-
loss = sum(loss)/ (mcreps * sum(cvp.TestSize));
其中 loss
最初是每个交叉验证折叠和每个重新分区的损失向量,mcreps
是重新分区的数量,sum(cvp.TestSize)
是交叉的总大小-验证测试集。
这用于 MSE(均方误差)和 MCR 损失函数。
我在crossval的文档中看到,matlab中的mcr = crossval('mcr',X,y,'Predfun',predfun)
函数计算误分类率,但是如果应用10倍交叉验证,那么我们将有10个不同的错误分类的值,因为我们做了 10 次测试,每次测试都会产生一个结果,但是值 mcr
是单一的或标量的,那么它是取平均错误分类率还是取最小值..等等?
使用平均误分类率(跨所有折叠和所有蒙特卡洛重新分区)。下面这行crossval
演示了平均损失的计算-
loss = sum(loss)/ (mcreps * sum(cvp.TestSize));
其中 loss
最初是每个交叉验证折叠和每个重新分区的损失向量,mcreps
是重新分区的数量,sum(cvp.TestSize)
是交叉的总大小-验证测试集。
这用于 MSE(均方误差)和 MCR 损失函数。