Ho ricevuto uno script R da qualcuno per eseguire un modello di foresta casuale. L'ho modificato ed eseguito con alcuni dati dei dipendenti. Stiamo cercando di prevedere separazioni volontarie.
Ecco alcune informazioni aggiuntive: questo è un modello di classificazione dove 0 = dipendente è rimasto, 1 = dipendente è terminato, al momento stiamo esaminando solo una dozzina di variabili predittive, i dati sono "sbilanciati" in quanto i termini del record costituiscono circa 7 % del set di record totale.
Gestisco il modello con varie selezioni di mtry e ntree ma mi sono sistemato sul seguito. L'OOB è del 6,8%, che ritengo sia buono, ma la matrice di confusione sembra raccontare una storia diversa per la previsione dei termini poiché il tasso di errore è piuttosto elevato al 92,79%. Ho ragione nel ritenere di non poter fare affidamento su questo modello e utilizzarlo perché l'alto tasso di errore per la previsione dei termini? o c'è qualcosa che posso fare anche per usare la RF e ottenere un tasso di errore più piccolo per prevedere i termini?
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