У меня есть 7 классов входов, которые связаны с активностью сигналов мозга (ЭЭГ). Когда количество классов большое, это может повлиять на производительность алгоритмов классификации. Как вы можете видеть в следующем коде, я извлек функции для них, и на первом этапе я обучил свою модель 70% моих данных и получил 100% точность, но на этапе тестирования с оставшимися 30% я не получил точность более 42,5%. Что вы предлагаете улучшить точность моей модели?
for i=1:7
[A D]=dwt2(segment_train(i).train,'db1');
wave_train(i).A=A;
wave_train(i).D=D;
f1=mean(A);
f2=median(A);
f3=max(D);
f4=abs(fft(D));
f4=mean(f4);
f5=var(D);
f6=skewness(D);
f7=entropy(D);
f8=var(A);
f9=mean(D);
f(i,:)=[f1 f2 f3 f4 f5 f6 f7 f8 f9];
end
% feature extraction
% Classifier
nOfSamples=7;
nOfClassInstance=10;
Sample=f;
class=[1 2 3 4 5 6 7]'
%SVM
Model=fitcecoc(Sample,class);
predictt=predict(Model,Sample);
disp('class predict')
disp([class predictt])
%Accuracy
Accuracy=mean(class==predictt)*100;
fprintf('\nAccuracy =%d\n',Accuracy)