R - Создание результатов le git RandomForest с помощью set.seed - PullRequest
0 голосов
/ 07 января 2020

Я думаю, что мой вопрос довольно странный, но:

Я работаю над университетским проектом, в котором мне нужно использовать модель RandomForest, чтобы предсказать, есть ли у пациентов депрессивные тенденции. И пока я получаю результаты, я не уверен, действительно ли они действительны или le git из-за начального числа. Вот фрагмент кода:

for (t in 1:5) {
  set.seed(123)
  seed <- sample.int(100)
    set.seed(seed)  
      seeds <- vector(mode = "list", length = 50)
      for(i in 1:50){
       seeds[[i]] <- sample.int(1000, 12)}
   #For the last model:
      seeds[[50]] <- sample.int(1000, 1)

yourdata_neu$Depressiv <- as.factor(yourdata_neu$Depressiv)

inTraining <- createDataPartition(yourdata_neu$Depressiv[1:nrow(yourdata_neu)], p = 0.70, list = FALSE) #75% der Probanden in Training, 25 in Test
training <- yourdata_neu[inTraining,] 
testing <- yourdata_neu[-inTraining,]

train_control <- trainControl(method="cv", number=10, verboseIter = TRUE, seeds = seeds, search = "grid") 
model <- train(training[,1:ncol(yourdata_neu)-1],as.factor(training[,ncol(yourdata_neu)]), method = "rf", type="classification", metric= "Accuracy", maximize= TRUE, trControl = train_control, importance = TRUE) 
model1 <- randomForest(training[,1:ncol(yourdata_neu)-1],as.factor(training[,ncol(yourdata_neu)]), type="classification", importance = TRUE, proximity = TRUE) 
prediction1 <- predict(model1, testing[,1:ncol(yourdata_neu)-1])
prediction2 <- predict(model, testing[,1:ncol(yourdata_neu)-1])
print(confusionMatrix(prediction2, as.factor(testing[,ncol(yourdata_neu)]),  positive = "1"))

В основном я устанавливаю свое семя на «123» в начале моего l oop, после чего я генерирую числа от 1 до 100 случайным образом Закажите и сохраните их в переменной. Эта переменная - мое новое семя для всей модели. Переменная "seed" предназначена для моего trainControl и содержит список из 50 записей для seed. (От 1 до 49 имеют 12 номеров каждый, последний получает только одно число после seed-l oop) Я повторяю эти шаги для каждой итерации модели.

Мой результат для точности постоянен после каждой итерации. Но поскольку я должен написать научную статью о своей модели, я не совсем уверен, смогу ли я установить свое семя, как я сделал? Или есть ли другой способ сделать мои результаты воспроизводимыми для академических вопросов? Я благодарен за каждый вклад :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...