你能帮我如何在 Matlab 中使用留一交叉验证吗?因为我使用的数据很小。我对真阳性使用 10 个数据训练,对假阳性使用 10 个数据训练。我尝试了在这里找到的代码。这是我的训练功能:
Function [ C,F ] = classification_test_samesize()
dn='D:\thesis\mthesis\code program\FalsePositive\'
db=dir(strcat(dn,'*.dcm'));
F=[];
C=[];
for(i=1:1:length(db))
name=db(i).name;
name=strcat(dn,name);
im1=dicomread(name);
[out] = func_feature(im1);
f = [out];
F = [F;f];
C=[C;-1];
end
% false positive is -1 th class
dn='D:\thesis\mthesis\code program\TruePositive\'
db=dir(strcat(dn,'*.dcm'));
for(i=1:1:length(db))
name=db(i).name;
name=strcat(dn,name);
im1=dicomread(name);
[out] = func_feature(im1);
f = [out];
F = [F;f];
C=[C;1];
% true positive is 1 th class
end
end
这是我的主要功能。
clc
direktori= uigetdir;
slash = '\';
direktori=strcat(direktori,slash);
dn=direktori;
db=dir(strcat(dn,'*.dcm'));
ftest=[];
for(i=1:1:length(db))
name=db(i).name;
name=strcat(dn,name);
im1=dicomread(name);
[out] = func_feature(im1);
f = [out];
ftest = [ftest;f];
end
[C,F] = classification_test_samesize();
svmStruct = svmtrain(F,C,'showplot',true,'Kernel_Function','rbf');
result_class = svmclassify(svmStruct,ftest,'showplot',true);
在我的主要功能中,我调用了测试文件夹来测试数据。但在这种情况下,我想使用留一交叉验证来测试数据,所以我不再调用该目录。你能帮我解决这个问题吗?因此,我可以使用其中一种训练数据进行测试。