테스트 세트의 결과를 올바르게 예측할 수있는 RF 모델이 R입니다. 나는 시도하고 모델에서 사용하는 몇 가지 새로운 데이터를 생성하고 싶었 제대로새 데이터의 임의의 포리 스트 예측자가 학습 데이터와 일치하지 않습니다.
> str(testing)
'data.frame': 4489 obs. of 9 variables:
$ pf : Factor w/ 1755 levels
$ p.E : Factor w/ 24 levels
$ p.EF : Factor w/ 30 levels
$ p.B : Factor w/ 9 levels
$ p.BC : Factor w/ 26 levels
$ p.L : num 110 122 201 60 9 ...
$ p.N : Factor w/ 9 levels
$ p : num 580
$ pt : Factor w/ 30 levels
변수 PF를 측정하고, 그래서 시도, 테스트 세트의 첫 번째 줄에 동일했다 몇 가지 새로운 데이터를 만들어 및 PF 예측 :
> df=testing[1,]
> df=droplevels(df)
> str(df)
'data.frame': 1 obs. of 9 variables:
$ pf : Factor w/ 1 level
$ p.E : Factor w/ 1 level
$ p.EF : Factor w/ 1 level
$ p.B : Factor w/ 1 level
$ p.BC : Factor w/ 1 level
$ p.L : num 110
$ p.N : Factor w/ 1 level
$ p : num 580
$ pt : Factor w/ 1 level
을 다음과 같은 오류 접수 :
> predict(model,df,type='class')
Error in predict.randomForest(model, df, type = "class") :
Type of predictors in new data do not match that of the training data.
누군가가이 발생한 이유를 설명하거나 내가이 문제를 해결할 수있는 방법을 제안 할 수 있습니까?
새로운 데이터를 기반으로 결과를 예측하고 모델을 만들 목적을 달성하지 못하는 새 DF에서 수준을 떨어 뜨리지 않아야합니까? 아니면 내가 뭔가 blindingly 명백한 mising 오전?
을했다. – zacdav
레벨을 내려서는 안됩니다. 이것은 '목적을 무력화'하지 않습니다. 새 데이터는 각 요인을 교육 집합과 동일한 수준으로 표현해야합니다. – dww