Class: CompactClassificationDiscriminant

Log unconditional probability density for discriminant analysis classifier


lp = logP(obj,Xnew)


lp = logP(obj,Xnew) returns the log of the unconditional probability density of each row of Xnew, computed using the discriminant analysis model obj.

Input Arguments


Discriminant analysis classifier, produced using fitcdiscr.


Matrix where each row represents an observation, and each column represents a predictor. The number of columns in Xnew must equal the number of predictors in obj.

Output Arguments


Column vector with the same number of rows as Xnew. Each entry is the logarithm of the unconditional probability density of the corresponding row of Xnew.


Unconditional Probability Density

The unconditional probability density of a point x of a discriminant analysis model is


where P(x,k) is the conditional density of the model at x for class k, when the total number of classes is K.

The conditional density P(x,k) is

P(x,k) = P(k)P(x|k),

where P(k) is the prior probability of class k, and P(x|k) is the conditional density of x given class k. The conditional density function of the multivariate normal with mean μk and covariance Σk at a point x is


where |Σk| is the determinant of Σk, and Σk1 is the inverse matrix.


expand all

Compute the Log Unconditional Probabiltiy Density of an Observation

Construct a discriminant analysis classifier for Fisher's iris data, and examine its prediction for an average measurement.

Load Fisher's iris data and construct a default discriminant analysis classifier.

load fisheriris
Mdl = fitcdiscr(meas,species);

Find the log probability of the discriminant model applied to an average iris.

logPAverage = logP(Mdl,mean(meas))
logPAverage =


Was this topic helpful?