R caret : qrf를 사용하는 기차에서 "이항 연산자에 대한 숫자가 아닌 인수"

yPennylane

를 사용하여 분위수 회귀 포리스트 모델을 실행 caret::train하면 다음 오류가 발생 Error in { : task 1 failed - "non-numeric argument to binary operator"합니다..

ntree더 높은 숫자로 설정하면 (재현 가능한 예에서는 ntree = 150) 코드가 오류없이 실행됩니다.

이 코드

library(caret)
library(quantregForest)

data(segmentationData)

dat <- segmentationData[segmentationData$Case == "Train",]
dat <- dat[1:50,]

# predictors
preds <- dat[,c(5:ncol(dat))]

# convert all to numeric
preds <- data.frame(sapply(preds, function(x) as.numeric(as.character(x))))

# response variable
response <- dat[,4]

# set up error measures
sumfct <- function(data, lev = NULL, model = NULL){
  RMSE <- sqrt(mean((data$pred - data$obs)^2, na.omit = TRUE))
  c(RMSE = RMSE)
}


# specify folds
set.seed(42, kind = "Mersenne-Twister", normal.kind = "Inversion")
folds_train <- caret::createMultiFolds(y = dat$Cell,
                                       k = 10,
                                       times = 5)

# specify trainControl for tuning mtry with the created multifolds
finalcontrol <- caret::trainControl(search = "grid", method = "repeatedcv", number = 10, repeats = 5, 
                                    index = folds_train, savePredictions = TRUE, summaryFunction = sumfct)

# build grid for tuning mtry
tunegrid <- expand.grid(mtry = c(2, 10, sqrt(ncol(preds)), ncol(preds)/3))

# train model
set.seed(42, kind = "Mersenne-Twister", normal.kind = "Inversion")
model <- caret::train(x = preds, 
                      y = response,
                      method ="qrf",
                      ntree = 30, # with ntree = 150 it works
                      metric = "RMSE",
                      tuneGrid = tunegrid,
                      trControl = finalcontrol,
                      importance = TRUE,
                      keep.inbag = TRUE
)

오류가 발생합니다. 내 실제 데이터가있는 모델에는 ntree = 10000여전히 작업이 실패하고 있습니다. 이 문제를 어떻게 해결할 수 있습니까?

캐럿의 소스 코드에서 오류 메시지의 조건을 찾을 수 Error in { : task 1 failed - "non-numeric argument to binary operator"있습니까? 소스 코드의 어느 부분에서 오류 메시지가 표시됩니까?

StupidWolf

keep.inbag = TRUEquantregforest 코드 95 행 에서 옵션을 사용했기 때문에 오류가 발생합니다 .

minoob <- min( apply(!is.na(valuesPredict),1,sum))
if(minoob<10) stop("need to increase number of trees for sufficiently many out-of-bag observations")

따라서 모든 관측치에는 OOB (Out of Bag) 인스턴스가 10 개 이상 있어야합니다. 따라서 실제 데이터가 방대 ntrees하다면 가방에서 꺼내는 데 필요한 것은 엄청날 것입니다.

데이터 훈련에 캐럿을 사용하는 경우 OOB를 유지하고 savePredictions = TRUE중복되는 것처럼 보입니다. 어쨌든 테스트 접기를 사용하여 예측할 것이기 때문에 전체적으로 OOB 예측은 그다지 유용하지 않을 수 있습니다.

데이터 크기를 고려할 때 또 다른 옵션은 sampsize. randomForest에서는 나무에 맞추기 위해 여러 sampsize관측치 대체 하위 집합으로 샘플링됩니다. 이를 위해 더 낮은 크기를 설정하면 OOB가 충분한 지 확인합니다. 예를 들어 주어진 예에서 다음을 볼 수 있습니다.

model <- caret::train(x = preds, 
                      y = response,
                      method ="qrf",
                      ntree = 30, sampsize=17,
                      metric = "RMSE",
                      tuneGrid = tunegrid,
                      trControl = finalcontrol,
                      importance = TRUE,
                      keep.inbag = TRUE)

model
Quantile Random Forest 

50 samples
57 predictors

No pre-processing
Resampling: Cross-Validated (10 fold, repeated 5 times) 
Summary of sample sizes: 44, 43, 44, 46, 45, 46, ... 
Resampling results across tuning parameters:

  mtry       RMSE    
   2.000000  42.53061
   7.549834  42.72116
  10.000000  43.11533
  19.000000  42.80340

RMSE was used to select the optimal model using the smallest value.
The final value used for the model was mtry = 2.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

에지를 추가하는 동안 R iGraph 오류 "이항 연산자에 대한 숫자가 아닌 인수"오류

분류에서Dev

R 반짝이는 "이항 연산자에 대한 숫자가 아닌 인수"오류

분류에서Dev

R-빛나는 행렬의 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

R-반짝이는 "이항 연산자에 대한 숫자가 아닌 인수"오류

분류에서Dev

R-Shiny Package-이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

R의 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

ggplot의 문으로 인해 R에서 오류가 발생하면 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

2 열마다 산점도를 플로팅하고 오류를 충족시킵니다. 오류 : 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

오류의 원인은 무엇입니까? R의 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

R의 함수 오류, 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

"(1-h) * qs [i] 오류 : 이항 연산자에 대한 숫자가 아닌 인수"코드를 실행하려고 할 때마다 계속 팝업됩니다.

분류에서Dev

ompr MILPModel : 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

-0.01 오류 * 높이 : 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

ggplot의 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

두 요소가 모두 숫자 인 경우 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

drc 오류 "parmVec [3] 오류-respl : 이항 연산자에 대한 숫자가 아닌 인수"

분류에서Dev

ggplot : geom_errorbar : "var"오류-se : 이항 연산자에 대한 숫자가 아닌 인수

분류에서Dev

R에서 Caret 패키지를 사용하는 "rf"에 대한 매우 긴 런타임

분류에서Dev

R caret (svmRadial) 시그마를 일정하게 유지하고 C에 대한 그리드 검색 사용

분류에서Dev

Caret 패키지를 사용하는 테스트 세트에 대한 ROC 곡선

분류에서Dev

classProbs = TRUE 일 때 R에서 Caret을 사용하는 SVM에 대한 다른 결과

분류에서Dev

R에서 lsmeans / nlme를 사용하는 Mac 대 PC 차이점?

분류에서Dev

R에서 'Intro to Caret'비 네트 샘플 코드 사용 오류

분류에서Dev

R의 기계 학습 및 Caret Package를 사용하여 새 데이터 세트에서 조정 된 SVM 모델을 테스트하는 방법은 무엇입니까?

분류에서Dev

R caret에서 선형 회귀 (lm)를 사용하여 어떻게 0을 통해 절편을 강요합니까?

분류에서Dev

r에서 % in %를 사용하는 경우

분류에서Dev

다른 방법에 비해 나쁜 결과를주는 Caret 패키지를 사용하는 KNN

분류에서Dev

r caret 패키지, rfe 제어 및 기차 제어 모두에 인덱스를 지정한 경우 오류

분류에서Dev

ggplot2를 사용하여 R에서 2-y 축 차트의 양쪽 축에 천 구분 기호를 추가하는 방법

Related 관련 기사

  1. 1

    에지를 추가하는 동안 R iGraph 오류 "이항 연산자에 대한 숫자가 아닌 인수"오류

  2. 2

    R 반짝이는 "이항 연산자에 대한 숫자가 아닌 인수"오류

  3. 3

    R-빛나는 행렬의 이항 연산자에 대한 숫자가 아닌 인수

  4. 4

    R-반짝이는 "이항 연산자에 대한 숫자가 아닌 인수"오류

  5. 5

    R-Shiny Package-이항 연산자에 대한 숫자가 아닌 인수

  6. 6

    R의 이항 연산자에 대한 숫자가 아닌 인수

  7. 7

    ggplot의 문으로 인해 R에서 오류가 발생하면 이항 연산자에 대한 숫자가 아닌 인수

  8. 8

    2 열마다 산점도를 플로팅하고 오류를 충족시킵니다. 오류 : 이항 연산자에 대한 숫자가 아닌 인수

  9. 9

    오류의 원인은 무엇입니까? R의 이항 연산자에 대한 숫자가 아닌 인수

  10. 10

    R의 함수 오류, 이항 연산자에 대한 숫자가 아닌 인수

  11. 11

    "(1-h) * qs [i] 오류 : 이항 연산자에 대한 숫자가 아닌 인수"코드를 실행하려고 할 때마다 계속 팝업됩니다.

  12. 12

    ompr MILPModel : 이항 연산자에 대한 숫자가 아닌 인수

  13. 13

    -0.01 오류 * 높이 : 이항 연산자에 대한 숫자가 아닌 인수

  14. 14

    ggplot의 이항 연산자에 대한 숫자가 아닌 인수

  15. 15

    두 요소가 모두 숫자 인 경우 이항 연산자에 대한 숫자가 아닌 인수

  16. 16

    drc 오류 "parmVec [3] 오류-respl : 이항 연산자에 대한 숫자가 아닌 인수"

  17. 17

    ggplot : geom_errorbar : "var"오류-se : 이항 연산자에 대한 숫자가 아닌 인수

  18. 18

    R에서 Caret 패키지를 사용하는 "rf"에 대한 매우 긴 런타임

  19. 19

    R caret (svmRadial) 시그마를 일정하게 유지하고 C에 대한 그리드 검색 사용

  20. 20

    Caret 패키지를 사용하는 테스트 세트에 대한 ROC 곡선

  21. 21

    classProbs = TRUE 일 때 R에서 Caret을 사용하는 SVM에 대한 다른 결과

  22. 22

    R에서 lsmeans / nlme를 사용하는 Mac 대 PC 차이점?

  23. 23

    R에서 'Intro to Caret'비 네트 샘플 코드 사용 오류

  24. 24

    R의 기계 학습 및 Caret Package를 사용하여 새 데이터 세트에서 조정 된 SVM 모델을 테스트하는 방법은 무엇입니까?

  25. 25

    R caret에서 선형 회귀 (lm)를 사용하여 어떻게 0을 통해 절편을 강요합니까?

  26. 26

    r에서 % in %를 사용하는 경우

  27. 27

    다른 방법에 비해 나쁜 결과를주는 Caret 패키지를 사용하는 KNN

  28. 28

    r caret 패키지, rfe 제어 및 기차 제어 모두에 인덱스를 지정한 경우 오류

  29. 29

    ggplot2를 사용하여 R에서 2-y 축 차트의 양쪽 축에 천 구분 기호를 추가하는 방법

뜨겁다태그

보관