数据分析:企业员工流失(二)
本文借鉴自公众号:R语言中文社区 Joffy Zhong所作的数据分析实例。
1.相关说明
- 数据集:SAMPLE DATA: HR Employee Attrition and Performance
- 分析语言:R
- 涉及邻域:人力资源管理,员工流失问题
2.预测员工离职情况
2.1 利用决策树进行分析建模
#建模(决策树)
set.seed(3221)
# 删除不需要的几个变量
levels(Attr.df$JobRole) <- c("HC", "HR", "Lab", "Man", "MDir", "RsD", "RsSci", "SlEx", "SlRep")
levels(Attr.df$EducationField) <- c("HR", "LS", "MRK", "MED", "NA", "TD")
Attr.df <- Attr.df[c(-9,-10,-22,-27)]
# 创建训练集和测试集
n <- nrow(Attr.df)
rnd <- sample(n, n * .70)
train <- Attr.df[rnd,]
test <- Attr.df[-rnd,]
# 建模
dtree <- rpart(Attrition ~., data = train)
preds <- predict(dtree, test, type = "class")
rocv <- roc(as.numeric(test$Attrition), as.numeric(preds))
rocv$auc prop.table(table(test$Attrition, preds, dnn = c("Actual", "Predicted")),1)
AUC(曲线下面积)为0.6438,灵敏度(查全率)为0.333,数值均比较低,决策树模型或许得不到有用的结论,但其直观性还是可取的。
dtreepr <- prune(dtree, cp = 0.016