remember that components correspond to directions in the input space the input space here is -pixel grayscale imagesso directions within this space are also -pixel grayscale images let' look at the first couple of principal components (figure - )in[ ]print("pca components_ shape{}format(pca components_ shape)out[ ]pca components_ shape( in[ ]fixaxes plt subplots( figsize=( )subplot_kw={'xticks'()'yticks'()}for (componentaxin enumerate(zip(pca components_axes ravel()))ax imshow(component reshape(image_shape)cmap='viridis'ax set_title("{componentformat(( ))while we certainly cannot understand all aspects of these componentswe can guess which aspects of the face images some of the components are capturing the first component seems to mostly encode the contrast between the face and the backgroundthe second component encodes differences in lighting between the right and the left half of the faceand so on while this representation is slightly more semantic than the raw pixel valuesit is still quite far from how human might perceive face as the pca model is based on pixelsthe alignment of the face (the position of eyeschinand noseand the lighting both have strong influence on how similar two images are in their pixel representation but alignment and lighting are probably not what human would perceive first when asking people to rate similarity of facesthey are more likely to use attributes like agegenderfacial expressionand hair stylewhich are attributes that are hard to infer from the pixel intensities it' important to keep in mind that algorithms often interpret data (particularly visual datasuch as imageswhich humans are very familiar withquite differently from how human would unsupervised learning and preprocessing