我不知道matlab中的函数“crossval”作为第一个参数是什么,我知道它是一个用于执行回归的函数,但是我没有得到“一些标准testval”的意图我需要在K-nn回归器上使用它,但是这些例子并不能说明一切。
vals = crossval(fun,X)
每次调用时,fun都应该使用XTRAIN来拟合一个模型,然后
返回在XTEST上使用
模型。
我在这里阅读:Matlab reference
最佳答案
它应该类似于优化函数,其中拟合函数fun
的返回值应该指示它与数据的拟合程度正如the documentation所述,fun
有两个参数,一个是训练数据集XTRAIN
和一个是测试数据集XTEST
。
如果您的数据X
包含一列已知结果X(:,1)
和其他特征X(:, 2:end)
并使用XTRAIN
训练您的数据,那么您的返回值可以像拟合模型的和平方误差一样简单:
testval = sum( (model(XTEST(:, 2:end)) - XTEST(:, 1)).^2 );
其中,
model(XTEST(:, 2:end))
是测试数据集特征上拟合模型的结果,XTEST和XTEST(:, 1)
是这些特征集的已知结果。关于matlab - 交叉验证Matlab-Crossval函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23899223/