Computes leave-one-out or M-fold cross-validation scores on a two-dimensional
grid to determine optimal values for the parameters of regularization in
rcc
.
tune.rcc(X, Y, grid1 = seq(0.001, 1, length = 5),
grid2 = seq(0.001, 1, length = 5),
validation = c("loo", "Mfold"),
folds = 10, plot = TRUE)
numeric matrix or data frame \((n \times p)\), the observations on the \(X\) variables.
NA
s are allowed.
numeric matrix or data frame \((n \times q)\), the observations on the \(Y\) variables.
NA
s are allowed.
vector numeric defining the values of lambda1
and lambda2
at which cross-validation score should be computed. Defaults to
grid1=grid2=seq(0.001, 1, length=5)
.
character string. What kind of (internal) cross-validation method to use,
(partially) matching one of "loo"
(leave-one-out) or "Mfolds"
(M-folds). See Details.
positive integer. Number of folds to use if validation="Mfold"
. Defaults to
folds=10
.
logical argument indicating whether a image map should be
plotted by calling the imgCV
function.
The returned value is a list with components:
value of the parameters of regularization on which the cross-validation method reached it optimal.
the optimal cross-validation score reached on the grid.
original vectors grid1
and grid2
.
matrix containing the cross-validation score computed on the grid.
If validation="Mfolds"
, M-fold cross-validation is performed by calling
Mfold
. When folds
is given, the elements of folds
should be integer vectors
specifying the indices of the validation sample and the argument M
is
ignored. Otherwise, the folds are generated. The number of cross-validation
folds is specified with the argument M
.
If validation="loo"
,
leave-one-out cross-validation is performed by calling the
loo
function. In this case the arguments folds
and M
are ignored.
The estimation of the missing values can be performed
by the reconstitution of the data matrix using the nipals
function. Otherwise, missing
values are handled by casewise deletion in the rcc
function.
image.tune.rcc
and http://www.mixOmics.org for more details.
# NOT RUN {
data(nutrimouse)
X <- nutrimouse$lipid
Y <- nutrimouse$gene
## this can take some seconds
# }
# NOT RUN {
tune.rcc(X, Y, validation = "Mfold")
# }
Run the code above in your browser using DataLab