AugmentedPCA: A Python Package of Supervised and Adversarial Linear
  Factor Models
  Deep autoencoders are often extended with a supervised or adversarial loss to
learn latent representations with desirable properties, such as greater
predictivity of labels and outcomes or fairness with respects to a sensitive
variable. Despite the ubiquity of supervised and adversarial deep latent factor
models, these methods should demonstrate improvement over simpler linear
approaches to be preferred in practice. This necessitates a reproducible linear
analog that still adheres to an augmenting supervised or adversarial objective.
We address this methodological gap by presenting methods that augment the
principal component analysis (PCA) objective with either a supervised or an
adversarial objective and provide analytic and reproducible solutions. We
implement these methods in an open-source Python package, AugmentedPCA, that
can produce excellent real-world baselines. We demonstrate the utility of these
factor models on an open-source, RNA-seq cancer gene expression dataset,
showing that augmenting with a supervised objective results in improved
downstream classification performance, produces principal components with
greater class fidelity, and facilitates identification of genes aligned with
the principal axes of data variance with implications to development of
specific types of cancer.
