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);