How can I use fitcdiscr using my own covariance matrix?

2 views (last 30 days)
Hi, I want to train a classifier using my own covariance matrix and/or use data that are already whitened (using a covariance matrix that was estimated from more data than the data that are fed into the classifier). However, I do not see any option to supply a covariance matrix to fitcsdiscr. Is there a way to do this? There is a function called makecdiscr that allows one to supply a covariance matrix, but this seems to create a classifier without fitting/training? Or is the outcome of makecdiscr the same as that of fitcsdiscr, just based on different inputs?

Accepted Answer

Bernhard Suhm
Bernhard Suhm on 1 Feb 2018
The training of fitcdiscr is to estimate the covariance matrix. If you have the covariance matrix, makecdiscr can be used to generate a discriminant analysis classifier. The output is somewhat different (only what we call a "compact" model from makecdiscr), because the original data is not passed to makediscr. The output of the fit functions includes a reference to the training data.
  1 Comment
Johannes
Johannes on 1 Feb 2018
Ah OK, silly me! So in short, makecdiscr can produce a very similar classifier as fitcdiscr provided that the supplied covariance matrix is similar to the one that would otherwise be estimated by fitcsdiscr. Clear answer, thanks.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!