我是验证模型的新手,我目前正在尝试使用MATLAB K-fold验证来评估预测房价的多项式模型的性能。我有243个样本,我将它们分成10组,然后我用'for loop'测试9组对1组(重复X 10)我的问题是存储错误率(性能)10次我做预测。我该怎么办?我尝试使用'classperf',但我收到以下错误,请参阅下面的代码;
数据集样本:
DateX: 10,20,30,40 ...
PriceY: 200,250,300,400 ...
% MATLAB code
K = 10;
cvFolds = crossvalind('Kfold',DateX,K); %10-folds
cp = classperf(DateX); %To store (performance)
for i = 1:K
testIDx = (cvFolds == i);
trainIDx = ~testIDx;
model1 = polyfit(DateX(trainIDx),PriceY(trainIDx),2);
prediction1=model1(1)*DateX(testIDx).^2+model1(2)*DateX(testIDx)+model1(3);
cp = classperf(cp,prediction1,testIDx);
end
我的错误讯息:
Error using classperf (line 230)
When the class labels of the CP object are numeric, the output
of the classifier must be all non-negative integers or NaN's.
关于如何存储我的模型的性能,是否有任何建议?我会欣赏MATLAB中可用于预测和验证性能的其他方法的示例(神经网络,分类e.t.c。)?