Description Usage Arguments Details Value References Examples

Given a set of training data, this function builds the Diagonal Quadratic Discriminant Analysis (DQDA) classifier, which is often attributed to Dudoit et al. (2002). The DQDA classifier belongs to the family of Naive Bayes classifiers, where the distributions of each class are assumed to be multivariate normal. Note that the DLDA classifier is a special case of the DQDA classifier.

The DQDA classifier is a modification to QDA, where the off-diagonal elements of the pooled sample covariance matrix are set to zero.

1 2 3 4 5 6 7 8 9 10 |

`x` |
matrix containing the training data. The rows are the sample observations, and the columns are the features. |

`...` |
additional arguments |

`y` |
vector of class labels for each training observation |

`prior` |
vector with prior probabilities for each class. If NULL (default), then equal probabilities are used. See details. |

`formula` |
A formula of the form |

`data` |
data frame from which variables specified in |

`object` |
trained DQDA object |

`newdata` |
matrix of observations to predict. Each row corresponds to a new observation. |

The DQDA classifier is a modification to the well-known QDA classifier, where the off-diagonal elements of each class covariance matrix are assumed to be zero – the features are assumed to be uncorrelated. Under multivariate normality, the assumption uncorrelated features is equivalent to the assumption of independent features. The feature-independence assumption is a notable attribute of the Naive Bayes classifier family. The benefit of these classifiers is that they are fast and have much fewer parameters to estimate, especially when the number of features is quite large.

The matrix of training observations are given in `x`

. The rows of `x`

contain the sample observations, and the columns contain the features for each
training observation.

The vector of class labels given in `y`

are coerced to a `factor`

.
The length of `y`

should match the number of rows in `x`

.

An error is thrown if a given class has less than 2 observations because the variance for each feature within a class cannot be estimated with less than 2 observations.

The vector, `prior`

, contains the *a priori* class membership for
each class. If `prior`

is NULL (default), the class membership
probabilities are estimated as the sample proportion of observations belonging
to each class. Otherwise, `prior`

should be a vector with the same length
as the number of classes in `y`

. The `prior`

probabilties should be
nonnegative and sum to one.

`dqda`

object that contains the trained DQDA classifier

list predicted class memberships of each row in newdata

Dudoit, S., Fridlyand, J., & Speed, T. P. (2002). "Comparison of Discrimination Methods for the Classification of Tumors Using Gene Expression Data," Journal of the American Statistical Association, 97, 457, 77-87.

Dudoit, S., Fridlyand, J., & Speed, T. P. (2002). "Comparison of Discrimination Methods for the Classification of Tumors Using Gene Expression Data," Journal of the American Statistical Association, 97, 457, 77-87.

1 2 3 4 5 6 7 8 | ```
n <- nrow(iris)
train <- sample(seq_len(n), n / 2)
dqda_out <- dqda(Species ~ ., data = iris[train, ])
predicted <- predict(dqda_out, iris[-train, -5])$class
dqda_out2 <- dqda(x = iris[train, -5], y = iris[train, 5])
predicted2 <- predict(dqda_out2, iris[-train, -5])$class
all.equal(predicted, predicted2)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs in the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.