2015-06-02 3 views
0

Я применяю интеллектуальное моделирование (ускоритель градиента), а мой код имеет ошибку на моем ноутбуке, но не в университетском компьютере.R-код (RStudio) не работает на моем ноутбуке, работая на другом ноутбуке

Я думаю, что ошибка указана в строке 203, поезда.

Ошибка:

Error in train.default(training_data[, predictorsNames], training_data[, : 
    final tuning parameters could not be determined 
In addition: Warning messages: 
1: In nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo, : 
    There were missing values in resampled performance measures. 
2: In train.default(training_data[, predictorsNames], training_data[, : 
    missing values found in aggregated results 

    # TRAINING & CROSSVALIDATION SETS 

    filtered_processed_dataset$IsDelayed<-ifelse(filtered_processed_dataset$IsDelayed==1,'yes','nope') 
    filtered_processed_dataset$IsDelayed<-as.factor(filtered_processed_dataset$IsDelayed) 
    outcomeName<-'IsDelayed' 
    predictorsNames<-names(filtered_processed_dataset)[names(filtered_processed_dataset)!=outcomeName] 

    inTrain<-caret::createDataPartition(filtered_processed_dataset$IsDelayed,p=.85,list=FALSE) 
    training_data<-filtered_processed_dataset[inTrain,] 
    crossvalidation_data<-filtered_processed_dataset[-inTrain,] 

    # GRADIENT BOOSTING MACHINE 

    getModelInfo()$gbm$type 

    rownames(training_data)<-NULL 
    gbmGrid<-expand.grid(interaction.depth=c(1,5,9), n.trees=100, shrinkage=0.1) 

    fitControl<-trainControl(
     method='cv', 
     number=3, 
     returnResamp='none', 
     verbose=FALSE, 
     summaryFunction=twoClassSummary, 
     classProbs=TRUE) 

    **g<-train(training_data[,predictorsNames], training_data[,outcomeName], 
    method='gbm', 
    trControl=fitControl, 
    metric="ROC", 
    tuneGrid=gbmGrid)** 

    crossvalidation_data<-as.data.frame(crossvalidation_data) 
    rownames(crossvalidation_data)<-NULL 

    p_gbm<-predict(g, crossvalidation_data[,predictorsNames], type='prob') 

    auc<-pROC::roc(ifelse(crossvalidation_data[,outcomeName]=="yes",1,0),p_gbm[[2]]) 

    print(auc) 

Большое спасибо.

+0

Это абсолютно не воспроизводимо, я думаю, что не так много людей, которые могут вам помочь. Почему вы отметили вопрос с помощью [tag: rstudio]? Вы пытались запустить код вне Rstudio, чтобы подтвердить, что это проблема R? –

ответ

1

Используйте оба компьютера на одном компьютере, чтобы получить информацию о загруженных пакетах и ​​вашей конфигурации R. Как вы ожидаете, что ваш код будет deterministic есть два возможных результата:

  1. Ваши конфигурации отличаются, одна версия или R старше/новее или использует различные библиотеки. Это влияет на то, как выполняется код.
  2. Ваши данные различаются. Вы можете легко исключить это, посмотрите на пакет compare, например.
    • Может быть, стоит исследовать, что предыдущая работа, которую вы могли бы сделать, не оставил никаких других объектов в вашей R среды, проверить это с помощью ls и очистите rm(list = ls())(осторожно, команда удалит все объекты).

В боковой точке, вы можете рассмотреть возможность взглянуть на packrat. Packrat позволит вам поддерживать согласованность в отношении пакетов, которые вы используете в разных средах.

Смежные вопросы