Evaluates the discriminative performance of PI models using AUC (Area Under the ROC Curve). Computes per-model AUC and ensemble AUC on case/control data.
evaluate_PI_models(
models,
cases,
controls,
model_type = "auto",
features = NULL,
max_controls = NULL,
n_eval_controls = NULL,
random_seed = NULL
)List of model objects, or output from load_PI_models().
Matrix, data.frame, or file path to case (positive) annotations.
Matrix, data.frame, file path, or directory for control (negative) annotations. If a directory, loads all chr*.csv files.
Character. "auto" (detect), "LASSO", or "GLM".
Character vector. Feature columns to use. NULL uses default 11 PI features.
Integer. Maximum controls to load from directory (memory limit). Uses proportional sampling per chromosome. NULL loads all.
Integer. Number of controls to use in evaluation after loading. NULL uses all loaded controls.
Integer. For reproducible control sampling.
List with components:
Data frame with model_id and auc columns
List with auc and predictions
List with mean_auc, sd_auc, min_auc, max_auc
List with labels, per-model predictions, ensemble predictions
Evaluation settings and data info
if (FALSE) { # \dontrun{
models <- load_PI_models("path/to/piModels/")
eval_result <- evaluate_PI_models(
models,
cases = "cases_annotated.csv",
controls = "controls_dir/",
max_controls = 10000
)
cat("Ensemble AUC:", eval_result$ensemble$auc, "\n")
} # }