Construct a Discriminant Projector
discriminant_projector.RdA discriminant_projector is an instance that extends bi_projector with a projection that maximizes class separation.
This can be useful for dimensionality reduction techniques that take class labels into account, such as Linear Discriminant Analysis (LDA).
Arguments
- v
The projection matrix (often
X %*% v). Rows correspond to observations, columns to components.- s
The score matrix (often
X %*% v). Rows correspond to observations, columns to components.- sdev
The standard deviations associated with the scores or components (e.g., singular values from LDA).
- preproc
A
prepperorpre_processorobject, or a pre-processing function (e.g.,center,pass).- labels
A factor or character vector of class labels corresponding to the rows of
X(ands).- classes
Additional S3 classes to prepend.
- ...
Extra arguments passed to
bi_projector.
Examples
# Simulate data and labels
set.seed(123)
X <- matrix(rnorm(100 * 10), 100, 10)
labels <- factor(rep(1:2, each = 50))
# Perform LDA and create a discriminant projector
lda_fit <- MASS::lda(X, labels)
dp <- discriminant_projector(lda_fit$scaling, X %*% lda_fit$scaling, sdev = lda_fit$svd,
labels = labels)