#' @importFrom purrr map_dbl
#' @importFrom magrittr %>%
#' @importFrom spams spams.fistaTree spams.normalize
NULL
#' choose lambda
#'
#' @description type in later
#'
#' @param X.shift a matrix
#' @param Y.single a vector
#' @param W0 a vector
#' @param tree a matrix
#'
#' @return a list
#' @export
#'
#' @examples
#' # later
choose.lambda <- function(X.shift, Y.single, W0, tree){
mean.err.eachlambda <- NULL
lam <- map_dbl(seq(-12,12), ~ give.lambdas(.x, Y = Y.single)) #
# lam <- map_dbl(seq(-12,12), ~ give.lambdas(.x, Y = data$Ytr.single))
for (m in 1:length(lam)){
#cat("iteration j = ", j, "\n")
mean.err.eachlambda[m] <- map_dbl(seq(1:5), ~ CV.hier(X = X.shift, Y = Y.single, whichsubgroup = .x,
Lambda = lam[m], W0=W0, tree=tree)) %>%
mean()
}
optimal.lambda <- mean.err.eachlambda %>% which.min() %>% lam[.]
return(list(lambdas = lam, optimal.lambda = optimal.lambda))
}
##### this one depends on CV.hier.inter()
##### and purrr()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.