GitHub repository for our project on Probabilistic PCA and Probabilistic CCA, from the MVA course "Introduction to Probabilistic Graphical Models and Deep Generative Models". We worked on the papers "Probabilistic Principal Component Analysis" by Tipping and Bishop, and "A Probabilistic Interpretation of Canonical Correlation Analysis" by Bach and Jordan. We implemented EM algorithms for both methods, able to handle input datasets with missing entries.
The file models.py contains three classes: PCA, PPCA and PCCA, which can be used as scikit-learn
classes with .fit_transform(X)
.
The notebooks from the notebooks/ folder show how to use the code on simple examples.