Сбой сеанса R, когда gbm () применяется к факторной переменной отклика? пожалуйста, порекомендуйте - PullRequest
0 голосов
/ 02 мая 2018

Ниже приведена выдержка из кода, который я пытаюсь использовать для немецкого набора кредитных данных.

Я пытаюсь создать универсальную функцию для техник ансамбля для моей shinydashboard.

Проблема с гбм. Сеанс R завершится сбоем, если переменная ответа не будет преобразована в множитель.

Если переменная ответа преобразуется в коэффициент, то RandomForest не будет генерировать частоту ошибок OOB и матрицу путаницы в своем компоненте вывода.

Пожалуйста, сообщите.

Переменная ответа - «по умолчанию». Перед применением модели, переменная ответа рассматривается как

    ## load the dataset
    data_x = read.csv("credit.csv")

   ## Preprocessing the dataset

   data_x$default <- ifelse(data_x$default == "yes", 1, 0)



  ##Loading packages

  pacman::p_load(shiny,shinydashboard,gbm, 
  randomForest,ggplot2,ipred,caret,ROCR,dplyr,ModelMetrics)

 user defined function
 model = function(algo =gbm ,distribution = 'bernoulli', 
         type = 'response', set ='AUC',n.trees =10000){

 ## Fit the model

  model<- algo(formula = default ~ ., 
           distribution = distribution,
           data = train,
           n.trees = n.trees,
           cv.fold= 3)

    ## Generate the prediction on the test set

    pred<- predict(object = model,
             newdata = test,
             n.trees = n.trees,
             type = type)

   ## Generate the test set AUCs using the pred

   AUC<- auc(actual = test$default, predicted = pred)


    if (set == 'AUC'){
     return(AUC)
     }

    if (set == 'predictions'){
     return(pred)
     }
    if (set == 'model'){
    return(model)

    }
    else
   return(NULL)

     }

    now call different model
    List of different models
    get_model<- function(algo,type = 'response', ntrees = 10000){
    z= model(algo = algo, type= type, set = 'model')

     }

   Bag_model<- get_model(algo = bagging, type='prob')
   RF_model<- get_model(algo = randomForest)
   GBM_model<- get_model(algo = gbm)
...