28 lines
788 B
Matlab
28 lines
788 B
Matlab
pkg load signal
|
|
|
|
% Load training data variables
|
|
dctDims = 25:15:100;
|
|
ks = 1:2:7;
|
|
accuracy = zeros(length(ks), length(dctDims));
|
|
|
|
for dctDim = 25:15:100;
|
|
face_recog_knn_train([1 40], dctDim);
|
|
load("raw_data.mat");
|
|
for k = 1:2:7
|
|
hits = 0;
|
|
for subject = 1:40
|
|
((dctDim-25)/15 + ((k-1)/2 + subject/40)/ length(ks)) / length(dctDims)
|
|
for im = 6:10
|
|
facePath = ["faces/att_faces/s" num2str(subject) '/' num2str(im) ".pgm"];
|
|
bestGuess = knnFace(facePath, k, trdata_raw, dctDim, trclass);
|
|
if bestGuess == subject
|
|
hits = hits + 1;
|
|
end
|
|
end
|
|
end
|
|
accuracy((k+1)/2, (dctDim-25)/15 + 1) = hits/200;
|
|
end
|
|
end
|
|
|
|
surf(dctDims, ks, accuracy);
|