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

2 次查看(过去 30 天)
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:

采纳的回答

the cyclist
the cyclist 2018-1-18
编辑:the cyclist 2018-1-18
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.

更多回答(1 个)

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

Community Treasure Hunt

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

Start Hunting!

Translated by