3

回帰アプリケーションに Caret の rfe を使用しています。私のデータ ( data.table) には 176 個の予測子 (49 個の因子予測子を含む) があります。関数を実行すると、次のエラーが発生します。

Error in { :  task 1 failed - "rfe is expecting 176 importance values but only has 2"

次に、model.matrix( ~ . - 1, data = as.data.frame(train_model_sell_single_bid))因子予測子をダミー変数に変換していました。ただし、同様のエラーが発生しました:

Error in { :  task 1 failed - "rfe is expecting 184 importance values but only has 2"

Windows 7 (64 ビット)、Caret バージョン 6.0-41 で R バージョン 3.1.1 を使用しています。また、Revolution R Enterprise バージョン 7.3 (64 ビット) もインストールしています。しかし、R バージョン 3.0.1 および Caret バージョン 6.0-24 の Amazon EC2 (c3.8xlarge) Linux インスタンスで同じエラーが再現されました。

使用したデータセット (エラーを再現するため):

https://www.dropbox.com/s/utuk9bpxl2996dy/train_model_sell_single_bid.RData?dl=0 https://www.dropbox.com/s/s9xcgfit3iqjffp/train_model_bid_outcomes_sell_single.RData?dl=0

私のコード:

library(caret)
library(data.table)
library(bit64)
library(doMC)

load("train_model_sell_single_bid.RData")
load("train_model_bid_outcomes_sell_single.RData")

subsets <- seq(from = 4, to = 184, by= 4)

registerDoMC(cores = 32)

set.seed(1015498)
ctrl <- rfeControl(functions = lmFuncs,
                   method = "repeatedcv",
                   repeats = 1,
                   #saveDetails = TRUE,
                   verbose = FALSE)

x <- as.data.frame(train_model_sell_single_bid[,!"security_id", with=FALSE])
y <- train_model_bid_outcomes_sell_single[,bid100]

lmProfile_single_bid100 <- rfe(x, y,
                               sizes = subsets,
                               preProc = c("center", "scale"),
                               rfeControl = ctrl)
4

1 に答える 1