Cross-validate PLS models
Arguments
- X
Predictor matrix as accepted by
pls_fit()- Y
Response matrix or vector as accepted by
pls_fit()- ncomp
Integer; components grid to evaluate.
- folds
Number of folds (ignored when
type = "loo").- type
Either "kfold" (default) or "loo".
- algorithm
Backend algorithm: "simpls", "nipals", "kernelpls" or "widekernelpls".
- backend
Backend passed to
pls_fit().- metrics
Metrics to compute (subset of "rmse", "mae", "r2").
- seed
Optional seed for reproducibility.
- parallel
Logical or character; same semantics as in
pls_bootstrap().- future_seed
Logical or integer; reproducible seeds for parallel evaluation.
- ...
Passed to
pls_fit().
Examples
set.seed(123)
X <- matrix(rnorm(60), nrow = 20)
y <- X[, 1] - 0.5 * X[, 2] + rnorm(20, sd = 0.1)
pls_cross_validate(X, y, ncomp = 2, folds = 3)
#> $details
#> fold ncomp metric value
#> 1 1 1 rmse 0.16328299
#> 2 1 1 mae 0.12805868
#> 3 1 1 r2 0.97080073
#> 4 1 2 rmse 0.07303034
#> 5 1 2 mae 0.05597072
#> 6 1 2 r2 0.99415887
#> 7 2 1 rmse 0.24657144
#> 8 2 1 mae 0.20919627
#> 9 2 1 r2 0.95049915
#> 10 2 2 rmse 0.11001802
#> 11 2 2 mae 0.08976574
#> 12 2 2 r2 0.99014504
#> 13 3 1 rmse 0.36542334
#> 14 3 1 mae 0.34056432
#> 15 3 1 r2 0.78937830
#> 16 3 2 rmse 0.38837465
#> 17 3 2 mae 0.37082266
#> 18 3 2 r2 0.76209023
#>
#> $summary
#> ncomp metric value
#> 1 1 mae 0.2259398
#> 2 2 mae 0.1721864
#> 3 1 r2 0.9035594
#> 4 2 r2 0.9154647
#> 5 1 rmse 0.2584259
#> 6 2 rmse 0.1904743
#>