Accelerating the pace of engineering and science

# logP

Log unconditional probability density for discriminant analysis classifier

## Syntax

lp = logP(obj,Xnew)

## Description

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

 obj Discriminant analysis classifier, produced using fitcdiscr. Xnew 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

 lp 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.

## Definitions

### Unconditional Probability Density

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

$P\left(x\right)=\sum _{k=1}^{K}P\left(x,k\right),$

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

$P\left(x|k\right)=\frac{1}{{\left(2\pi |{\Sigma }_{k}|\right)}^{1/2}}\mathrm{exp}\left(-\frac{1}{2}{\left(x-{\mu }_{k}\right)}^{T}{\Sigma }_{k}^{-1}\left(x-{\mu }_{k}\right)\right),$

where $|{\Sigma }_{k}|$ is the determinant of Σk, and ${\Sigma }_{k}^{-1}$ is the inverse matrix.

## Examples

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 =

-1.7254

```