/plda

Probabilistic Linear Discriminant Analysis & classification, written in Python.

Primary LanguagePythonApache License 2.0Apache-2.0

Probabilistic Linear Discriminant Analysis

Demo with MNIST Handwritten Digits Data

See mnist_demo/mnist_demo.ipynb.

Install instructions

Option 1: pip install without dependencies. Use this after installing necessary dependencies.

pip install https://github.com/RaviSoji/plda/tarball/master

Option 2: conda install with all dependencies. This requires conda.

  • Via git:

    git clone https://github.com/RaviSoji/plda.git
    conda env create -f plda/environment.yml -n myenv
  • Alternatively, via wget:

    wget https://raw.githubusercontent.com/RaviSoji/plda/master/environment.yml
    conda env create -f environment.yml -n myenv

Uninstall instructions

  • To uninstall plda only: pip uninstall plda.
  • To remove the myenv conda environment: conda env remove -n myenv.

Testing the software

See tests/README.md.

Credit and disclaimers

Paper Citation

Ioffe S. (2006) Probabilistic Linear Discriminant Analysis. In: Leonardis A., Bischof H., Pinz A. (eds) Computer Vision – ECCV 2006. ECCV 2006.

More thanks!

@seandickert and @matiaslindgren pushed for and implemented the same-different discrimination and the pip install, respectively!

Disclaimers

  1. Parameters are estimated via empirical Bayes.
  2. I wrote this code while working on an Explainable Artificial Intelligence (XAI) project at the CoDaS Laboratory, so it keeps parameters in memory that are unnecessary for simple classification problems. It's intended to be readable to researchers.