output: numeric or character specifying the output neuron or output name to be plotted. By default is the first output (output = 1).
metric: character specifying the metric to be plotted. It can be "mean", "std" or "meanSensSQ".
senstype: character specifying the type of plot to be plotted. It can be "matrix" or "interactions". If type = "matrix", only the second derivatives are plotted. If type = "interactions" the main diagonal are the first derivatives respect each input variable.
...: further argument passed similar to ggcorrplot arguments.
Returns
a list of ggplots, one for each output neuron.
Details
Most of the code of this function is based on ggcorrplot() function from package ggcorrplot. However, due to the inhability of changing the limits of the color scale, it keeps giving a warning if that function is used and the color scale overwritten.
Examples
## Load data -------------------------------------------------------------------data("DAILY_DEMAND_TR")fdata <- DAILY_DEMAND_TR
## Parameters of the NNET ------------------------------------------------------hidden_neurons <-5iters <-100decay <-0.1######################################################################################################### REGRESSION NNET ####################################################################################################################### Regression dataframe --------------------------------------------------------# Scale the datafdata.Reg.tr <- fdata[,2:ncol(fdata)]fdata.Reg.tr[,3]<- fdata.Reg.tr[,3]/10fdata.Reg.tr[,1]<- fdata.Reg.tr[,1]/1000# Normalize the data for some modelspreProc <- caret::preProcess(fdata.Reg.tr, method = c("center","scale"))nntrData <- predict(preProc, fdata.Reg.tr)#' ## TRAIN nnet NNET --------------------------------------------------------# Create a formula to train NNETform <- paste(names(fdata.Reg.tr)[2:ncol(fdata.Reg.tr)], collapse =" + ")form <- formula(paste(names(fdata.Reg.tr)[1], form, sep =" ~ "))set.seed(150)nnetmod <- nnet::nnet(form, data = nntrData, linear.output =TRUE, size = hidden_neurons, decay = decay, maxit = iters)# Try HessianMLPH <- NeuralSens::HessianMLP(nnetmod, trData = nntrData, plot =FALSE)NeuralSens::SensMatPlot(H)S <- NeuralSens::SensAnalysisMLP(nnetmod, trData = nntrData, plot =FALSE)NeuralSens::SensMatPlot(H, S, senstype ="interactions")