Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
交叉验证matlab-crossval函数_Matlab_Machine Learning_Regression_Knn_Cross Validation - Fatal编程技术网

交叉验证matlab-crossval函数

交叉验证matlab-crossval函数,matlab,machine-learning,regression,knn,cross-validation,Matlab,Machine Learning,Regression,Knn,Cross Validation,我不明白matlab中的函数“crossval”作为第一个参数是什么,我知道这是一个用于执行回归的函数,但我没有得到“某些标准testval”的意图。我需要在K-nn回归器上使用它,但是示例并没有让我明白所有的事情 vals = crossval(fun,X) 每次调用时,fun都应该使用XTRAIN来拟合模型,然后 返回在XTEST上使用拟合的 模型 这里是我阅读的地方:它应该类似于优化函数,其中拟合函数fun的返回值应该指示它与数据的拟合程度。如前所述,fun接受两个参数,一个是训练数据集

我不明白matlab中的函数“crossval”作为第一个参数是什么,我知道这是一个用于执行回归的函数,但我没有得到“某些标准testval”的意图。我需要在K-nn回归器上使用它,但是示例并没有让我明白所有的事情

vals = crossval(fun,X)
每次调用时,fun都应该使用XTRAIN来拟合模型,然后 返回在XTEST上使用拟合的 模型


这里是我阅读的地方:

它应该类似于优化函数,其中拟合函数
fun的返回值应该指示它与数据的拟合程度。如前所述,
fun
接受两个参数,一个是训练数据集
XTRAIN
,一个是测试数据集
XTEST

如果您的数据,
X
,包含一列已知结果
X(:,1)
和其他特性列
X(:,2:end)
,并使用
XTRAIN
对数据进行训练,那么您的返回值可能与拟合模型的平方和误差一样简单:

testval = sum( (model(XTEST(:, 2:end)) - XTEST(:, 1)).^2 );

其中
model(XTEST(:,2:end))
是您在测试数据集的功能上安装的模型的结果,而
XTEST(:,1)
是这些功能集的已知结果。

谢谢,这对我帮助很大!