matlabでベイジアン分類器を使用する場合、過適合や不正確さを避ける最善の方法は何ですか?
現在、750 が「正常」で 250 が「異常」(1 つの特定の種類) のトレーニング データに 1000 サンプルを使用しています。
分類器をトレーニングするのに適切なパーセンテージを見つけた人はいますか、それとも各問題には特定の量のトレーニング データが必要ですか。私は後者だと思いますが、どのように精度を改善できるか、どのような方法を使用できるかを理解するのに苦労しています。どんな例でも感謝します。
以下は、私が現在使用しているものの例です。
training_data = data;
target_class = Book2(indX,:)
class = classify(test_data,training_data, target_class, 'diaglinear')
confusionmat(target_class,class)
% Display Results of Naive Bayes Classification
input = target_class;
% find the unique elements in the input
uniqueNames=unique(input)';
% use string comparison ignoring the case
occurrences=strcmpi(input(:,ones(1,length(uniqueNames))),uniqueNames(ones(length(input),1),:));
% count the occurences
counts=sum(occurrences,1);
%pretty printing
for i=1:length(counts)
disp([uniqueNames{i} ': ' num2str(counts(i))])
end
% output matching data
dataSample = fulldata(indX, :)