library('deepnet', quietly = T)
library('caret', quietly = T)
neural.train = function(model,XY)
{
XY <- as.matrix(XY)
X <- XY[,-ncol(XY)]
Y <- XY[,ncol(XY)]
Y <- ifelse(Y > 0,1,0)
prepr<-preProcess(X, method = "spatialSign")
x.tr<-predict(prepr, X)
Preprs[[model]] <<- prepr
Models[[model]] <<- sae.dnn.train(x.tr,Y,
hidden = c(50,50,50),
activationfun = "tanh",
learningrate = 0.7,
momentum = 0.5,
learningrate_scale = 1.0,
output = "sigm",
sae_output = "linear",
#numepochs = 300,
batchsize = 100,
hidden_dropout = 0,
visible_dropout = 0)
}
neural.predict = function(model,X)
{
if(is.vector(X)) X <- t(X)
x.ts<-predict(Preprs[[model]], X)
return(nn.predict(Models[[model]], x.ts))
}
neural.init = function()
{
set.seed(365)
Models <<- vector("list")
Preprs <<- vector("list")
}
neural.save = function(name)
{
save(Models,Preprs,file=name)
}
neural.load = function(name)
{
load(Models,Preprs,file=name)
}