print("Loading Data") X_train_face = load_training_data('face') X_train_nonface = load_training_data('nonface') [X_train_PCA_face, PCA_face_train] = perform_pca(X_train_face, size * size) X_train_PCA_face = X_train_PCA_face.T X_train_PCA_face = preprocess(X_train_PCA_face) [X_train_PCA_nonface, PCA_nonface_train] = perform_pca(X_train_nonface, size * size) X_train_PCA_nonface = X_train_PCA_nonface.T X_train_PCA_nonface = preprocess(X_train_PCA_nonface) [mean_face, covar_face] = get_MC(X_train_PCA_face) mix_face = Gaussian(mean_face.reshape(-1, 1), covar_face) [mean_nonface, covar_nonface] = get_MC(X_train_PCA_nonface) mix_nonface = Gaussian(mean_nonface.reshape(-1, 1), covar_nonface) X_test_face = load_test_data('face') X_test_nonface = load_test_data('nonface') [X_test_face_PCA, PCA_face_test] = perform_pca(X_test_face, size * size) X_test_face_PCA = X_test_face_PCA.T X_test_face_PCA = preprocess(X_test_face_PCA) [X_test_nonface_PCA, PCA_nonface_test] = perform_pca(X_test_nonface, size * size) X_test_nonface_PCA = X_test_nonface_PCA.T
expo2 = np.matmul(expo1, term3)[0, 0] val = np.exp(expo2) val = val / np.sqrt(np.linalg.det(self.sigma)) val = val / ((2 * np.pi)**(100 / 2)) return val print("Loading Data") X_train_face = load_train_data('face') X_train_nonface = load_train_data('nonface') X_CV_nonface = load_CV_data('nonface') X_CV_face = load_CV_data('face') print("Training") mean_face, covar_face = get_MC(X_train_face) mix_face = Gaussian(mean_face.reshape(-1, 1), covar_face) mean_nonface, covar_nonface = get_MC(X_train_nonface) mix_nonface = Gaussian(mean_nonface.reshape(-1, 1), covar_nonface) print("Testing") prob_face_facedata = array([]) prob_nonface_facedata = array([]) prob_face_nonfacedata = array([]) prob_nonface_nonfacedata = array([]) for i in range(len_CV): inp_facedata = X_CV_face[i].reshape(-1, 1) inp_nonfacedata = X_CV_nonface[i].reshape(-1, 1)