R/dcaiman.train.R

Defines functions dcaiman.train

Documented in dcaiman.train

library(tidyverse)
dcaiman.train <- 
  function(ytrain, yvalidation, xtrain, xvalidation, grid) {
  y = ytrain
  classes = levels(y)
  df = xtrain %>% as.data.frame()
  df$y = y
  a = grid
  
  
  xtx = .genXtX(df, classes)
  centroidx = .genCentroide(df, classes)
  
  k = .genEspace(df, classes) %>% as.data.frame()
  k$y = y
  xtk = .genXtX(k, classes)
  centroidk = .genCentroide(k, classes)
  
  valx = .genhiddenSpace(levels(y), x = xvalidation, xxt = xtx, m = centroidx)
  valy = .genhiddenSpace(levels(y), x = valx, xxt=xtk, m = centroidk)
  
  erro = numeric(length(a))
  
  
  for(i in seq_along(a)) {
    valfinal = a[i]*valx + (1-a[i])*valy
    erro[i] = mean(yvalidation!=.genmin(levels(y), valfinal))
    
  }
  
  
  afinal = a[which.min(erro)]
  
  return(list(xtx=xtx,xtk=xtk,cx=centroidx, ck=centroidk, a=afinal, 
              classes=classes, erro=erro))
  
}
pedroaraujo9/caiman2 documentation built on May 28, 2019, 12:03 p.m.