Description
This s a normal ANN model training code, but the cv_model code cannot execute properly—it gets stuck with no response, and this issue can be reproduced every time. However, it runs normally on RStudio Server. I'm not sure where the scheduling problem lies.
library(neuralnet)
library(NeuralNetTools)
library(caret)
library(pROC)
library(foreach)
library(doParallel)
load("ann_arg.rda")
exp_ann <- exp_vein
set.seed(20240118)
n_samples <- ncol(exp_ann)
train_index <- sample(1:n_samples, size = round(0.7 * n_samples))
train_group_list <- group_list[train_index]
test_group_list <- group_list[-train_index]
traindata <- exp_ann[, train_index]
testdata <- exp_ann[, -train_index]
k <- traindata
k <- as.data.frame(t(k))
fen <- as.data.frame(train_group_list)
fen$lasso <- ifelse(fen$train_group_list == "healthy", 0, 1)
k <- cbind(fen$lasso, k)
colnames(k)[1] <- "group"
data <- k
head(data)
groups <- data$group
gene_expression <- data[, -which(names(data) == "group")]
gene_expression <- data[, -which(names(data) == "group")]
model_data <- data.frame(group = as.factor(groups), gene_expression)
str(model_data)
formula <- as.formula(paste("group ~", paste(colnames(model_data)[colnames(model_data) != "group"], collapse = " + ")))
ann_model <- neuralnet(
formula,
data = model_data,
hidden = c(10, 5),
linear.output = FALSE,
err.fct = "ce",
lifesign = "full",
rep = 1,
algorithm = "rprop+",
stepmax = 1e+08,
)
model_data$group <- factor(model_data$group, levels = c("0", "1"), labels = c("Healthy", "Disease"))
train_control <- trainControl(
method = "cv",
number = 5,
classProbs = TRUE,
summaryFunction = twoClassSummary
)
cv_model <- train(
formula,
data = model_data,
method = "nnet",
trControl = train_control,
metric = "ROC",
tuneLength = 10
)
It gets stuck permanently at this step.