Matlab knn分类10倍工具和分类

Matlab knn分类10倍工具和分类,matlab,classification,knn,Matlab,Classification,Knn,我从mat文件中获得了8个特征 每个特征分为4部分(X_序列、Y_序列、X_测试、Y_测试) 随机获得该参数10次 现在我应该根据KNN对该功能进行分类 我的密码在这里 kk=7; bb=1; mdl1= ClassificationKNN.fit([X1_train{bb};X2_train{bb};X3_train{bb};X4_train{bb};X5_train{bb};X6_train{bb};X7_train{bb};X8_train

我从mat文件中获得了8个特征 每个特征分为4部分(X_序列、Y_序列、X_测试、Y_测试) 随机获得该参数10次 现在我应该根据KNN对该功能进行分类 我的密码在这里

    kk=7;
            bb=1;
         mdl1= ClassificationKNN.fit([X1_train{bb};X2_train{bb};X3_train{bb};X4_train{bb};X5_train{bb};X6_train{bb};X7_train{bb};X8_train{bb};X9_train{bb};X10_train{bb};X11_train{bb};X12_train{bb}],[Y1_train{bb};Y2_train{bb};Y3_train{bb};Y4_train{bb};Y5_train{bb};Y6_train{bb};Y7_train{bb};Y8_train{bb};Y9_train{bb};Y10_train{bb};Y11_train{bb};Y12_train{bb}],'NumNeighbors',kk);
.
.
.
bb=10;
            mdl10= ClassificationKNN.fit([X1_train{bb};X2_train{bb};X3_train{bb};X4_train{bb};X5_train{bb};X6_train{bb};X7_train{bb};X8_train{bb};X9_train{bb};X10_train{bb};X11_train{bb};X12_train{bb}],[Y1_train{bb};Y2_train{bb};Y3_train{bb};Y4_train{bb};Y5_train{bb};Y6_train{bb};Y7_train{bb};Y8_train{bb};Y9_train{bb};Y10_train{bb};Y11_train{bb};Y12_train{bb}],'NumNeighbors',kk);
如您所见,此函数对10 mdl重复10次 在下面,我编写了这段代码来简化项目

for j=1:10
    for h=1:12
mdl{j}{h}=ClassificationKNN.fit([X_train{j}{h}],[Y_train{j}{h}]);
    end
end
这段代码在没有(mdl{j}{h})的情况下可以正常工作,但如果使用这句话,我会收到以下错误消息((单元格内容分配给非单元格数组对象)) 有人知道我该怎么解决这个问题吗
谢谢

首先,您应该定义mdl变量大小

mdll= cell(10, 8);
然后形成这个for循环

for j=1:10
     mdll{j}= ClassificationKNN.fit([X_train{j}{1};X_train{j}{2};X_train{j}{3};X_train{j}{4};X_train{j}{5};X_train{j}{6};X_train{j}{7};X_train{j}{8};X_train{j}{9};X_train{j}{10};X_train{j}{11};X_train{j}{12}],[Y_train{j}{1};Y_train{j}{2};Y_train{j}{3};Y_train{j}{4};Y_train{j}{5};Y_train{j}{6};Y_train{j}{7};Y_train{j}{8};Y_train{j}{9};Y_train{j}{10};Y_train{j}{11};Y_train{j}{12}],'NumNeighbors',kk);
end 
我检查过了,工作正常