누락 된 값을 처리하기 위해 R에서 Amelia 패키지를 사용하고 있습니다. 임의의 포리스트를 귀속 된 데이터로 조정하려고 할 때 아래 오류가 발생합니다. 난 내가 전가의 $의 imputations로 랜덤 포레스트 입력을 사용하는 경우 R.클래스 ""amelia ""를 data.frame에 강제 변환 할 수 없습니다.
train_data<-read.csv("train.csv")
sum(is.na(train_data))
impute<- amelia(x=train_data,m=5,idvars=c("X13"), interacs=FALSE)
impute<= as.data.frame(impute)
for(i in 1:impute$m) {
model <- randomForest(Y ~X1+X2+X3+X4+X5+X6,
data= as.data.frame(impute))
}
Error in as.data.frame.default(impute) :
cannot coerce class ""amelia"" to a data.frame
에서 랜덤 포레스트 기능에 대한 권리 입력됩니다 데이터 프레임에 아멜리아 클래스를 변환 할 수있는 방법을 잘 모르겠습니다 [[I]] i를 오류 아래 :
model <- randomForest(Y ~X1+X2+X3+X4+X5+X6,
impute$imputations[[i]])
Error: $ operator is invalid for atomic vectors
사람이 내가이 문제를 해결하는 방법을 나에게 제안 할 수 .IT는 큰 도움이 될 것입니다.
@RichardScriven impute <-as.matrix (impute)를 수행해야한다는 뜻입니까? – Nikita
먼저'unclass (impute)'를 먼저 봐야한다고 생각합니다. 그러면 객체가 실제로 어떻게 보이는지 알 수 있습니다. 'as.matrix'를 잊어 버려, 내가 잘못 생각했다. –
@RichardScriven 설명에 감사드립니다. 나는 아직도이 오류를 처리 할 수 없다. aregImpute를 사용하는 동안 유사한 오류가 발생합니다. 귀속 된 테스트 데이터 세트를 예측 함수에 제공 할 때.predict_valid <-predict (model, newdata = impute_valid, type = "response) - impute_valid <- aregImpute (Y ~ X1 + X2 + X3 + X4 + X5 + X6, 데이터 = 테스트 데이터, n.impute = 5, nk = 0) ") as.data.frame.default (data)의 오류 : 클래스" "aregImpute" "을 data.frame에 강제 해석 할 수 없습니다. – Nikita