Ниже приведена выдержка из кода, который я пытаюсь использовать для немецкого набора кредитных данных.
Я пытаюсь создать универсальную функцию для техник ансамбля для моей 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)