我不明白matlab中的函数“ crossval ”是什么作为第一个参数,我明白它是执行回归的函数,但我不知道得到“ 某些标准testval ”的意图。我需要在K-nn回归量上使用它,但是这些例子并没有让我清楚。
vals = crossval(fun,X)
每次调用时,乐趣都应该使用XTRAIN来适应模型 返回一些使用拟合的XTEST计算的标准testval 模型。
以下是我正在阅读的地方:Matlab reference
答案 0 :(得分:3)
它应该与优化函数类似,其中拟合函数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)
是这些特征集的已知结果。