This function calculates the predictive accuracy of linear or logistic regression models.

## Usage

performance_accuracy(
model,
method = c("cv", "boot"),
k = 5,
n = 1000,
verbose = TRUE
)

## Arguments

model

A linear or logistic regression model. A mixed-effects model is also accepted.

method

Character string, indicating whether cross-validation (method = "cv") or bootstrapping (method = "boot") is used to compute the accuracy values.

k

The number of folds for the k-fold cross-validation.

n

Number of bootstrap-samples.

verbose

Toggle warnings.

## Value

A list with three values: The Accuracy of the model predictions, i.e. the proportion of accurately predicted values from the model, its standard error, SE, and the Method used to compute the accuracy.

## Details

For linear models, the accuracy is the correlation coefficient between the actual and the predicted value of the outcome. For logistic regression models, the accuracy corresponds to the AUC-value, calculated with the bayestestR::auc()-function.

The accuracy is the mean value of multiple correlation resp. AUC-values, which are either computed with cross-validation or non-parametric bootstrapping (see argument method). The standard error is the standard deviation of the computed correlation resp. AUC-values.

## Examples

model <- lm(mpg ~ wt + cyl, data = mtcars)
performance_accuracy(model)
#> # Accuracy of Model Predictions
#>
#> Accuracy: 92.35%
#>       SE: 4.85%-points
#>   Method: Correlation between observed and predicted

model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial")
performance_accuracy(model)
#> # Accuracy of Model Predictions
#>
#> Accuracy: 89.44%
#>       SE: 19.29%-points
#>   Method: Area under Curve