2
Использование нечеткой панели инструментов в Matlab, я пытаюсь вычислить ошибку в наборе проверки. Первая перекрестная проверка используется для разделения исходных данных обучения в наборе обучения и тестирования (проверки). Однако в этой фазе проверки я хотел бы получить ошибку также для разных параметров в функции genfis3. Я хотел бы изменить четвертый вход в этой функции от 2 до 10 и вычислить средние ошибки.Проверка нечеткой логики вложенных циклов
fismat3 = genfis3(X1,Y1,'sugeno',2);
Весь код:
[m,~]=size(dataTrain);
CVO = cvpartition(m,'k',10);
err = zeros(CVO.NumTestSets,1);
for i = 1:CVO.NumTestSets
trIdx = CVO.training(i);
teIdx = CVO.test(i);
X1=Xtrain(trIdx,:);
X2=Xtrain(teIdx,:);
Y1=Ytrain(trIdx,:);
Y2=Ytrain(teIdx,:);
fismat3 = genfis3(X1,Y1,'sugeno',2);
fismat3 = anfis([X1,Y1],fismat3);
out1=evalfis(X2,fismat3);
ee=Y2-out1;
err(i)=mean(abs(ee));
end
Error32 = mean(err)