Description Usage Arguments Details Value Examples
Does k-fold cross-validation with the function optimPenalLik and returns the values of lamda and w that maximize the area under the ROC.
1 |
Data |
a data frame, as a first column should have the response variable y and the other columns the predictors |
nfolds |
the number of folds used for cross-validation. OBS! nfolds>=2 |
grid |
a grid (data frame) with values of lamda and w that will be used for tuning to tune the model. It is created by expand.grid see example below |
algorithm |
choose between BFGS ("QN") and hjk (Hooke-Jeeves optimization free) to be used for optmization |
It supports the BFGS optimization method ('QN') from the optim stats function, the Hooke-Jeeves derivative-free minimization algorithm ('hjk') The value of lamda and w that yield the maximum AUC on the cross-validating data set is selected.
A matrix with the following: the average (over folds) cross-validated AUC, the totalVariables selected on the training set, and the standard deviation of the AUC over the nfolds.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ## Not run:
set.seed(14)
beta <- c(3, 2, -1.6, -4)
noise <- 5
simData <- SimData(N=100, beta=beta, noise=noise, corr=TRUE)
nfolds <- 3
grid <- expand.grid(w = c( 0.3, 0.7),
lamda = c(1.5))
before <- Sys.time()
paramCV <- tuneParam(simData, nfolds, grid, algorithm=c("QN"))
(totalTime <- Sys.time() - before)
maxAUC <- paramCV[which.max(paramCV$AUC),]$AUC
allmaxAUC <- paramCV[which(paramCV$AUC==maxAUC),] # checks if the value of AUC
# is unique; if is not unique then it will take the combination of lamda and
# w where lamda has the largest value- thus achieving higher sparsity
runQN <- optimPenaLik(simData, lamda= allmaxAUC[nrow(allmaxAUC),]$lamda,
w= allmaxAUC[nrow(allmaxAUC),]$w,
algorithms=c("QN"))
(coefQN <- runQN$varQN)
# check the robustness of the choice of lamda
runQN2 <- optimPenaLik(simData, lamda= allmaxAUC[1,]$lamda,
w= allmaxAUC[1,]$w,
algorithms=c("QN"))
(coefQN2 <- runQN2$varQN)
## End(Not run)
|
Time difference of 4.896952 secs
X1 X2 X3 X4 u5
1.828 1.705 -0.981 -3.251 0.156
X1 X2 X3 X4 u5
1.828 1.705 -0.981 -3.251 0.156
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.