[英]GBM and Caret package: invalid number of intervals
雖然我正在定義target <- factor(train$target, levels = c(0, 1))
,但下面給出的代碼提供了此錯誤:
cut.default(y,unique(quantile(y,probs = seq(0,1,length = cuts))))中的錯誤:無效的間隔數另外:警告消息:1:在train.default(x,y中,weights = w,...):無法計算回歸的類概率
這是什么意思,以及如何解決?
gbmGrid <- expand.grid(n.trees = (1:30)*10,
interaction.depth = c(1, 5, 9),
shrinkage = 0.1)
fitControl <- trainControl(method = "repeatedcv",
number = 5,
repeats = 5,
verboseIter = FALSE,
returnResamp = "all",
classProbs = TRUE)
target <- factor(train$target, levels = c(0, 1))
gbm <- caret::train(target ~ .,
data = train,
#distribution="gaussian",
method = "gbm",
trControl = fitControl,
tuneGrid = gbmGrid)
prob = predict(gbm, newdata=testing, type='prob')[,2]
首先,不要這樣做:
target <- factor(train$target, levels = c(0, 1))
您將收到警告:
至少一個類級別不是有效的R變量名稱; 如果生成類概率,則可能會導致錯誤,因為變量名稱將被轉換為:X0,X1
其次,您創建了一個名為target
。 使用公式方法意味着train
將使用數據幀train
中的稱為target
的train
而這些列是不同的數據。 修改列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.