Ошибка в {: задача 1 не выполнена - «выбраны неопределенные столбцы» - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь обучить случайный лес следующим образом:

library(caret)
library(randomForest)

nfields <- 5
control <- rfeControl(functions = rfFuncs,
                      method = "repeatedcv",
                      repeats = 1,
                      verbose = TRUE)

fields <- colnames(dtrain)[!colnames(dtrain) %in% "my_target"]
predictors_rfe <- rfe(dtrain[,fields,with=F], dtrain$my_target,
                       rfeControl = control)

Выполнение случайных лесов:

+(rfe) fit Fold01.Rep1 size: 120 
-(rfe) fit Fold01.Rep1 size: 120 
+(rfe) imp Fold01.Rep1 
-(rfe) imp Fold01.Rep1 
+(rfe) fit Fold01.Rep1 size:  16 
+(rfe) fit Fold02.Rep1 size: 120 
-(rfe) fit Fold02.Rep1 size: 120 
+(rfe) imp Fold02.Rep1 
-(rfe) imp Fold02.Rep1 
+(rfe) fit Fold02.Rep1 size:  16 
-(rfe) fit Fold02.Rep1 size:  16 
+(rfe) fit Fold02.Rep1 size:   8 
-(rfe) fit Fold02.Rep1 size:   8 
+(rfe) fit Fold02.Rep1 size:   4 
-(rfe) fit Fold02.Rep1 size:   4 
+(rfe) fit Fold03.Rep1 size: 120 
-(rfe) fit Fold03.Rep1 size: 120 
+(rfe) imp Fold03.Rep1 
# ...
+(rfe) fit Fold10.Rep1 size:  16 
-(rfe) fit Fold10.Rep1 size:  16 
+(rfe) fit Fold10.Rep1 size:   8 
-(rfe) fit Fold10.Rep1 size:   8 
+(rfe) fit Fold10.Rep1 size:   4 
-(rfe) fit Fold10.Rep1 size:   4 

Тогда я получаю ошибку:

Ошибка в {: задача 1 не выполнена - «выбраны неопределенные столбцы»

Из сообщения об ошибке я не могу понять, что не так ... Может кто-нибудь помочь, пожалуйста?

Я узнал от здесь что это ошибка caret. Но эта ошибка была обнаружена и устранена в 2016 году ... Я использую последнюю версию caret

1 Ответ

0 голосов
/ 30 января 2020

Я сделал пример, используя iris и следуя инструкции . Возможно, ваша ошибка в:

dtrain [, fields, with = F]

См. Пример ниже, используя iris:

set.seed(1)
library(caret)

nfields <- 5
control <- rfeControl(functions = rfFuncs,
                      method = "repeatedcv",
                      repeats = 1,
                      verbose = F)
irisx <- iris[,1:4]
fields <- colnames(irisx)[!colnames(irisx) %in% "Petal.Width"]

predictors_rfe <- rfe(irisx[,fields], 
                      irisx$Petal.Width,
                      rfeControl = control)

predictors_rfe
> predictors_rfe

Recursive feature selection

Outer resampling method: Cross-Validated (10 fold, repeated 1 times) 

Resampling performance over subset size:

 Variables  RMSE Rsquared    MAE  RMSESD RsquaredSD   MAESD Selected
         3 0.196   0.9418 0.1519 0.03502     0.0177 0.02608        *

The top 3 variables (out of 3):
   Petal.Length, Sepal.Length, Sepal.Width

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

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