저는 R을 사용하여 새로운 의사 결정 트리를 작성하려고합니다. 나는 이미 ctree에 패키지 파티를 사용했고 rpart에는 rpart를 사용했다. 그러나 모델에 대해 교차 유효성 검사를 수행해야하므로, train() 함수와 원하는 메서드를 사용하여 캐럿 패키지를 사용하기 시작합니다. train() 함수에 누락 된 값 오류 트리에 대한 캐럿
library(caret)
cvCtrl <- trainControl(method = "repeatedcv", repeats = 2,
classProbs = TRUE)
ctree.installed<- train(TARGET ~ OPENING_BALANCE+ MONTHS_SINCE_EXPEDITION+
RS_DESC+SAP_STATUS+ ACTIVATION_STATUS+ ROTUL_STATUS+
SIM_STATUS+ RATE_PLAN_SEGMENT_NORM,
data=trainSet,
method = "ctree",
trControl = cvCtrl)
는하지만, 내 변수 "OPENING_BALANCE"와 "MONTHS_SINCE_EXPEDITION는"일부 누락 된 값을 가지고 있고 함수는 그것 때문에 작동하지 않습니다. 나는 왜 내가 나무를 만들려고 노력하고 있는지 이해하지 못한다. 다른 패키지를 사용할 때이 문제가 발생하지 않습니다. 내가 정말 그 관찰을 버리고 싶지 않기 때문에 통과 = na.action을 사용하지 않았다
Error in na.fail.default(list(TARGET = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, :
missing values in object
:
이
는 오류입니다.내가 잘못 했나요? 왜 이런 일이 일어나는 걸까요? 이것에 대한 제안이 있습니까?
내가 몇 가지 누락 된 값을 가지고mlbench
패키지의 데이터 세트
PimaIndiansDiabetes2
을 고려 시작 당신의 도움이
를' na.action = na.pass'는 na를 버리지 않습니다. 즉, NA를 지원하지 않는'predict' 함수를 사용하면 그것을 전달합니다. '실패 할 것이다. 'na.action = na.omit' _ 그 관측을 버려야합니다. –
찾았습니까? 도움이 될 수도 있습니다. https://stats.stackexchange.com/questions/144922/r-caret-and-nas –
답변 해 주셔서 감사합니다. 내가 찾은 문제는 예측 함수를 사용할 때 결과가 테스트 세트에 준 것보다 훨씬 적은 관찰을 반환한다는 것입니다. 테스트 세트에 30000 개의 관측치가 있다고 가정하고 10000 개의 입력 변수에 누락 값이 있으므로 20000에 대한 예측 만 수신합니다. –