0
나는 인자 변수를 가지고 있지만 숫자 엔트리를 가진 모델을 만들고있다. 나는 숫자로 변환했다. 내가 SVM 방사형 커널로 모델을 만들려고 시도했을 때, 나는 이해하지 못하는 이상한 메시지를 받았다. 아래는 내가 한 일이다.나는 내 데이터를 훈련시킨다. 캐럿 트레인 기능을 가진 SVM 사용하기
Subset of data
class ac_000 ad_000 ag_007
neg 2130706438 280 25896
neg 228 100 292936
pos 42328 856 51190
neg 24 24 0
neg 370 346 0
pos 1534 1388 794698
factorconvert <- function(f){as.numeric(levels(f))[f]}
DF[, 2:4] <- lapply(DF[, 2:4], factorconvert)
SVM
ctrl<-trainControl(method="repeatedcv"),
repeats=5,
summaryFunction=twoClassSummary,
classProbs=TRUE)
Train and Tune the SVM
svm.tune <- train(x=trainX, y= trainData$Class,method = "svmRadial",
tuneLength = 9, preProc =c("center","scale"),metric="ROC",trControl=ctrl)
Error in if (any(co)) { : missing value where TRUE/FALSE needed In
addition: Warning message: In FUN(newX[, i], ...) : NAs introduced by
coercion.
any(is.any(DF)).
또한 na.omit()을 사용하여 데이터의 모든 NA를 제거했습니다. 데이터를 다시 검사했습니다. 누락 된 값이 없습니다. 도움이 필요해.
문제를 재현 할 수 있도록 데이터의 하위 집합을 포함하십시오. 그것 없이는, 당신을 도우는 것이 아주 어렵습니다. [도움말 센터] (http://stackoverflow.com/help/mcve)를보십시오. 감사! – lrnzcig
실제 데이터의 크기는 얼마입니까? – abhiieor
1. factorconvert의 결과를 확인하십시오. 올바르게 작동하지 않을 수 있습니다. 그것은 당신이 제공 한 데이터에 있지 않습니다. 2. 원본 데이터 일부를 출력하십시오. 이 세트는 너무 작아서 테스트 할 수 없습니다. 데이터를 사용하지 않으려면 GermanCredit 데이터 (캐럿 패키지에 포함) 또는 다른 데이터 세트로 오류를 복제하십시오. – phiver