MATLAB Answers

Perform Naive-Bayes classification(fitcnb) with non-zero off-diagonal covariance matrix

9 views (last 30 days)
simplified
simplified on 18 Jan 2018
Answered: Ilya on 19 Jan 2018
Greetings,
I use a Bayesian classification model to generate class-conditional probability density functions (PDFs) from a Monte Carlo (MC) simulation (see Fig 1). The different classes have inter-variable correlations such that the covariance matrix has non-zeros on the off-diagonal elements. However, the Bayesian classification model seems to assume that the off-diagonal elements are zero, such that the PDFs for each class are not shaped according to the MC simulated data (see Fig 2); this makes the PDFs look like ellipsoids that are horizontally aligned.
So, how can I specify the covariance elements in the Bayesian classification model when I for instance want to use it to predict a new data set?
Thanks,
Kenneth
Fig 1:
Fig2:

  0 Comments

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 18 Jan 2018
Edited: the cyclist on 18 Jan 2018
Disclaimer: I am not an expert on these methods.
Doesn't the "naive" in naive Bayes specifically mean that the model features are independent from each other (i.e. uncorrelated)? You might need a more sophisticated model.

More Answers (1)

Ilya
Ilya on 19 Jan 2018
To estimate covariance per class, use fitcdiscr with discriminant type 'quadratic'.

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!