Можете ли вы помочь мне, как использовать разрешение на перекрестное подтверждение в Matlab? Потому что данные, которые я использовал, невелики. Я использую 10 тренировок данных для истинных положительных и 10 тренировок данных для ложных срабатываний. Я попробовал код, который я нашел здесь. Это моя обучающая функция:Оставьте одно из перекрестных проверок в matlab
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);
В моей основной функции я назвал тестовую папку для проверки данных. но в этом случае я хочу использовать одинарное перекрестное подтверждение для проверки данных, поэтому я больше не называюсь каталогом. Можете ли вы помочь мне решить эту проблему? Таким образом, я могу использовать одну тестовую информацию для тестирования.
Большое спасибо за ваш ответ. но я очень новичок в Matlab. Я все еще запутался, как назвать функцию im my main, которая была исправлена вами. потому что я должен поставить два параметра, которые являются leaveOutFP и leaveOutTP. Я надеюсь, что и может помочь мне решить эту проблему .. спасибо – user2157806
есть какая-то ошибка, когда я запустить его «Ошибка при помощи svmtrain (строка 335) Y должен содержать ровно две группы по методу„SMO“. Ошибка в основной (строка 15) svmStruct = svmtrain (Ftrain, Ctrain, 'showplot', правда, 'Kernel_Function', 'RBF'); у вас есть какие-либо идеи, чтобы решить эту проблему большое спасибо за вашу помощь – user2157806
Пожалуйста, проверьте, что размер 'Ctrain' есть и какие значения в нем. Я ожидаю, что это будет вектор-столбец с только« 1 »и« -1 »в нем - если это не так, нам нужно выяснить, почему нет. как я обнаружил возможную проблему при вычислении 'testVal' - как написано, вы можете получить повторяющиеся значения. Я иду t o обновить этот код сейчас. – Floris