abcrlda {abcrlda} R Documentation

## Asymptotically Bias-Corrected Regularized Linear Discriminant Analysis for Cost-Sensitive Binary Classification

### Description

Constructs Asymptotically Bias-Corrected Regularized Linear Discriminant Analysis.

### Usage

abcrlda(x, y, gamma = 1, cost = c(0.5, 0.5), bias_correction = TRUE)


### Arguments

 x Input matrix or data.frame of dimension nobs x nvars; each row is an feature vector. y A numeric vector or factor of class labels. Factor should have either two levels or be a vector with two distinct values. If y is presented as a vector, it will be coerced into a factor. Length of y has to correspond to number of samples in x. gamma Regularization parameter \gamma in the ABC-RLDA discriminant function given by: W_{ABC}^{RLDA} = \gamma (x-\frac{\bar{x}_0 + \bar{x}_1}{2})^T H (\bar{x}_0 - \bar{x}_1) - log(\frac{C_{01}}{C_{10}}) + \hat{\omega}_{opt} H = (I_p + \gamma \hat{\Sigma})^{-1} Formulas and derivations for parameters used in above equation can be found in the article under reference section. cost Parameter that controls the overall misclassification costs. This is a vector of length 1 or 2 where the first value is C_{10} (represents the cost of assigning label 1 when the true label is 0) and the second value, if provided, is C_{01} (represents the cost of assigning label 0 when the true label is 1). The default setting is c(0.5, 0.5), so both classes have equal misclassification costs If a single value is provided, it should be normalized to lie between 0 and 1 (but not including 0 or 1). This value will be assigned to C_{10} while C_{01} will be equal to (1 - C_{10}). bias_correction Takes in a boolean value. If bias_correction is TRUE, then asymptotic bias correction will be performed. Otherwise, (if bias_correction is FALSE) asymptotic bias correction will not be performed and the ABCRLDA is the classical RLDA. The default is TRUE.

### Value

An object of class "abcrlda" is returned which can be used for class prediction (see predict()).

 a Coefficient vector of a discriminant hyperplane: W(x) = a' x + m. m Intercept of discriminant hyperplane: W(x) = a'x + m. cost Vector of cost values that are used to construct ABC-RLDA. ncost Normalized cost such that C_{10} + C_{01} = 1. gamma Regularization parameter value used in ABC_RLDA discriminant function. lev Levels corresponding to the labels in y.

### Reference

A. Zollanvari, M. Abdirash, A. Dadlani and B. Abibullaev, "Asymptotically Bias-Corrected Regularized Linear Discriminant Analysis for Cost-Sensitive Binary Classification," in IEEE Signal Processing Letters, vol. 26, no. 9, pp. 1300-1304, Sept. 2019. doi: 10.1109/LSP.2019.2918485 URL: https://ieeexplore.ieee.org/document/8720003

Other functions in the package: cross_validation(), da_risk_estimator(), grid_search(), predict.abcrlda(), risk_calculate()

### Examples

data(iris)
train_data <- iris[which(iris[, ncol(iris)] == "virginica" |
iris[, ncol(iris)] == "versicolor"), 1:4]
train_label <- factor(iris[which(iris[, ncol(iris)] == "virginica" |
iris[, ncol(iris)] == "versicolor"), 5])
model <- abcrlda(train_data, train_label, gamma = 0.5, cost = 0.75)
a <- predict(model, train_data)
# same params but more explicit
model <- abcrlda(train_data, train_label, gamma = 0.5, cost = c(0.75, 0.25))
b <- predict(model, train_data)
# same class costs ratio
model <- abcrlda(train_data, train_label, gamma = 0.5, cost = c(3, 1))
c <- predict(model, train_data)
# all this model will give the same predictions
all(a == b & a == c & b == c)
#' [1] TRUE


[Package abcrlda version 1.0.3 Index]