Mam od kogoś skrypt R do uruchomienia losowego modelu lasu. Zmodyfikowałem i uruchomiłem go z niektórymi danymi pracowników. Staramy się przewidzieć dobrowolne separacje.
Oto kilka dodatkowych informacji: jest to model klasyfikacji, w którym 0 = pracownik został, 1 = pracownik został zakończony, obecnie obserwujemy tylko tuzin zmiennych predykcyjnych, dane są „niezrównoważone” w tym sensie, że rekordy tworzą około 7 % całkowitego zestawu rekordów.
Korzystam z modelu z różnymi opcjami mtry i ntree, ale zdecydowałem się na poniższe. OOB wynosi 6,8%, co moim zdaniem jest dobre, ale macierz nieporozumień wydaje się opowiadać inną historię przewidywania warunków, ponieważ poziom błędu jest dość wysoki i wynosi 92,79%. Czy mam rację, zakładając, że nie mogę polegać na tym modelu i używać go, ponieważ wysoki poziom błędu w przewidywaniu terminów? lub czy jest coś, co mogę zrobić, aby użyć RF i uzyskać mniejszy poziom błędu w przewidywaniu terminów?
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