- featTable,或两者兼而有之预测和响应
- predictorsNew
应用K-Fold交叉验证模型来预测新数据的反应变量
36视图(30天)
显示旧的评论
你好,
我已经训练一个k-fold旨在模型使用fitctree分类模型。这是我的代码:
%提取预测和响应
预测= featTable (:, 1: end-1);
响应= featTable.ActivityID;
%的可重复的结果
rng默认的
%使用kFold分区数据的方法
本量利= cvpartition(反应,“KFold”5);%设置KFold 5给最低的损失
%损失计算模型
KFoldMdl = fitctree (featTable,“ActivityID”,“CVPartition”、本量利);
kfLoss = kfoldLoss (KFoldMdl)%模型损失:0.0128
现在我想申请新培训的k-fold corss-validated模型分类新数据模型还没有见过的。我用下面的代码:
预测=预测(KFoldMdl predictorsNew)
当我在我的新运行代码未分类预测,我得到以下错误消息:
错误使用预测
没有有效的数据集发现“预测”命令。使用一个iddata对象指定一个数据集,一个时间表对象,idfrd
对象,或数字矩阵。
我不知道为什么这不是工作上面的代码适用于模型如果在cvpartition训练使用例外选项。我附上我的新预测文件。所以请你帮忙咨询如何k-fold训练旨在模型适用于新数据?我试着使用kfoldPredict但这并不奏效。
任何帮助将不胜感激。
接受的答案
将本
2023年6月14日行传十三章36节的一句话
您可以使用
预测
在MATLAB函数使用旨在预测反应模型
KFoldMd
和新数据
predictorsNew
。
的代码是这样的:
y_predict =预测(KFoldMd。训练有素的{1},predictorsNew);
请注意,
KFoldMd.Trained {1}
是训练模型第一折交叉验证,您可以使用任何褶皱你认为最佳的性能。
4评论
将本
2023年6月15日10:09
不使用kfoldPredict你不能预测任何新的数据,你可以看到标签的输出给整个数据模型
fitctree函数
。
检查折叠的性能,你可以自己写一个函数,使用上述方法预测我建议并与真值进行比较。