R/stopCriteria.R

Defines functions IterationSC ValidationSC

Documented in IterationSC ValidationSC

# Stop criteria -----------------------------------------------------------


IterationSC <- function(max.iterations){
  list( 
    eval = function(ctx){
      ctx$continue <- ctx$iteration < ctx$sc$max.iterations
      ctx
    },        
    max.iterations = max.iterations
  )    
}


ValidationSC <- function(x,y){
  list( 
    eval = function(ctx){              
      ctx.opt <- OptimizeAllWeights(ctx, maxit=20);      
      yh <- predict(ctx.opt$m,ctx$sc$x)
      val <- sqrt(mean((yh-ctx$sc$y)^2))
      ctx$log(' Validation RMSE: ',val)
            
      if(val > ctx$sc$last.eval){
        ctx$continue <- FALSE
        ctx$m <- ctx$sc$best.model
        
      }else{
        ctx$sc$last.eval <- val
        ctx$sc$best.model <- ctx$m
      }
      
      ctx      
    },        
    x = x,
    y = y,    
    last.eval = Inf,
    best.model = list()
  )
}

Try the IBHM package in your browser

Any scripts or data that you put into this service are public.

IBHM documentation built on May 30, 2017, 4:32 a.m.