Principal Component Analysis is mostly commonly used for dimensionality reduction.
It is a data preperation technique performed on data prior to modeling. After data cleaning and data scaling and before training a predictive model.
A tutorial on Principal Components Analysis — a technical report with code in scilab.
Implementing a Principal Component Analysis (PCA) in Python, step by step by Sebastian Raschka, who has written Machine learning and AI beyond the basics