Question
Can you convert the code written in knn below with logistic regression clc; clear; close all; % Load training data train_men = dir(fullfile(['trainingmen','*.jpg'])); train_images_men =
Can you convert the code written in knn below with logistic regression
clc;
clear;
close all;
% Load training data
train_men = dir(fullfile(['training\men\','*.jpg']));
train_images_men = [];
for i = 1:length(train_men)
file_name = strcat('training\men\',train_men(i).name);
image = imread(file_name);
re = reshape(image, [1 1296]);
train_images_men = [train_images_men; re];
end
train_women = dir(fullfile(['training\women\','*.jpg']));
train_images_women = [];
for i = 1:length(train_women)
file_name = strcat('training\women\',train_women(i).name);
image = imread(file_name);
re = reshape(image, [1 1296]);
train_images_women = [train_images_women; re];
end
train_images = [train_images_men; train_images_women];
train_labels = [zeros(length(train_images_men), 1); ones(length(train_images_women), 1)]; % 0 for men, 1 for women
train_images = double(train_images);
% Load test data
test_men = dir(fullfile(['testing\men\','*.jpg']));
test_images_men = [];
for i = 1:length(test_men)
file_name = strcat('testing\men\',test_men(i).name);
image = imread(file_name);
re = reshape(image, [1 1296]);
test_images_men = [test_images_men; re];
end
test_women = dir(fullfile(['testing\women\','*.jpg']));
test_images_women = [];
for i = 1:length(test_women)
file_name = strcat('testing\women\',test_women(i).name);
image = imread(file_name);
re = reshape(image, [1 1296]);
test_images_women = [test_images_women; re];
end
test_images = [test_images_men; test_images_women];
test_labels = [zeros(length(test_images_men), 1); ones(length(test_images_women), 1)]; % 0 for men, 1 for women
test_images = double(test_images);
% Subtract the mean 'face' before performing PCA
h = 36;
w = 36;
faces = (train_images)';
numFaces = size(faces, 2);
meanFace = mean(faces, 2);
faces = faces - repmat(meanFace, 1, numFaces);
% Perform Singular Value Decomposition
[u, d, v] = svd(faces, 0);
% Pick the principal components that capture 90% of data variance
eigVals = diag(d);
energy = cumsum(eigVals);
propEnergy = energy./energy(end);
percentMark = min(find(propEnergy > 0.9));
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started