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 |

`y` |
A numeric vector or factor of class labels. Factor should have either two levels or be
a vector with two distinct values.
If |

`gamma` |
Regularization parameter
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 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 |

`bias_correction` |
Takes in a boolean value.
If |

### 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( |

`m` |
Intercept of discriminant hyperplane: W( |

`cost` |
Vector of cost values that are used to construct ABC-RLDA. |

`ncost` |
Normalized cost such that |

`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

### See Also

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
```

*abcrlda*version 1.0.3 Index]