Improve Gaussian Naive Bayes decoders using Principal Component Analysis

Summary: Gaussian Naive Bayes (GNB) decoders have the assumptions that the data has Gaussian distributions, and all features are independent to each other, which are not necessarily true in real life. By integrating Principal Component Analysis (PCA), which uses eigendecomposition to map the data to independent lower dimensions, we increased the GNB’s decoding performance on all sci-kit learn build-in classification datasets.

We also used sci-kit learn package to generate dummy 2D datasets for visualization the decision boundary, to better understand the model.