我从某人那里得到了一个 R 脚本来运行一个随机森林模型。我修改并使用一些员工数据运行它。我们正试图预测自愿离职。
以下是一些附加信息:这是一个分类模型,0 = 员工留下,1 = 员工终止,我们目前只查看十几个预测变量,数据是“不平衡的”,因为术语记录约占 7占总记录集的百分比。
我使用各种 mtry 和 ntree 选择运行模型,但选择了以下内容。OOB 为 6.8%,我认为这很好,但混淆矩阵似乎为预测术语讲述了一个不同的故事,因为错误率非常高,达到 92.79%我是否正确地假设我不能依赖和使用这个模型,因为预测术语的高错误率?或者我还可以做些什么来使用 RF 并获得更小的错误率来预测术语?
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