Eu recebi um script R de alguém para executar um modelo de floresta aleatório. Modifiquei e executei com alguns dados de funcionários. Estamos tentando prever separações voluntárias.
Aqui estão algumas informações adicionais: este é um modelo de classificação em que 0 = funcionário permaneceu, 1 = funcionário desligado, atualmente estamos apenas olhando para uma dúzia de variáveis preditivas, os dados são "desequilibrados", pois os registros do termo compõem cerca de 7 % do conjunto total de registros.
Eu corro o modelo com várias seleções mtry e ntree, mas resolvi o seguinte. O OOB é 6,8%, o que eu acho bom, mas a matriz de confusão parece contar uma história diferente para a previsão de termos, já que a taxa de erro é bastante alta em 92,79%. Estou certo ao supor que não posso confiar e usar esse modelo porque a alta taxa de erro para prever termos? ou há algo que eu possa fazer para usar a RF e obter uma taxa de erro menor para prever termos?
FOREST_model <- randomForest(theFormula, data=trainset, mtry=3, ntree=500, importance=TRUE, do.trace=100)
ntree OOB 1 2
100: 6.97% 0.47% 92.79%
200: 6.87% 0.36% 92.79%
300: 6.82% 0.33% 92.55%
400: 6.80% 0.29% 92.79%
500: 6.80% 0.29% 92.79%
> print(FOREST_model)
Call:
randomForest(formula = theFormula, data = trainset, mtry = 3, ntree = 500, importance = TRUE, do.trace = 100)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 3
OOB estimate of error rate: 6.8%
Confusion matrix:
0 1 class.error
0 5476 16 0.002913328
1 386 30 0.927884615
> nrow(trainset)
[1] 5908