This repository contains a python3 code for the Eigenfaces. Eigenfaces uses a statistical techique Principal Component Analysis to reduce the dimensionality of large images and return the eigenvectors/Principal Components/eigenfaces that have dimensionality less than the dimesionality of the original image, but still can best approximate the original image. In simple words, representing the image as accurately as possible using the as minimum as possible dimensions. Included in this repository is the dataset (Oviletti face dataset) 'faces.csv'. It contains 400 face images, each defined by its pixel values on a greyscale (0-255). The original dimension of each image is 64 x 64 (i.e. 1 x 4096 vector of pixel values for each image). I'm also attaching a so called 'Eigenfaces tutorial' that will guide you through the mathematical steps of calculatig the Eigenvectors/Pricipal Components/Eigenfaces.