作者:胡言 R语言中文社区专栏作者
知乎ID:https://www.zhihu.com/people/hu-yan-81-25
前言
本次实践学习并练习使用R语言rpart包构建决策树,寻找决定高薪合同的技术统计元素。
期间用到了过采样方法解决目标样本量太少的问题,并应用了AUC、KS、混肴矩阵、精确度等模型评价指标,算是决策树的一次比较完备的实例实践。
废话少说,上代码:
载入包#载入分析所需要的包
library(dplyr)
library(devtools)
library(woe)
library(ROSE)
library(rpart)
library(rpart.plot)
library(ggplot2)
require(caret)
library(pROC)
使用Rmarkdown写code时我喜欢把整个工程用到的包都在最开始的地方载入,可以设置(include=FALSE)不展示这部分代码,好处是通篇比较干净整洁。
本文用到的数据依旧是为2016-2017赛季NBA300多为球员的技术统计,感谢简书用户“牧羊的男孩”(点击阅读原文获取)。
以下为“牧羊的男孩”提供的数据字段解释,非常感谢!
![640?wx_fmt=jpeg](https://i-blog.csdnimg.cn/blog_migrate/1e59f232c6c4b1c17dadb377b93d19b8.jpeg)
dat_nba<-read.csv('nba_2017_nba_players_with_salary.csv')
dat_nba$cut_salary<-ifelse(dat_nba$SALARY_MILLIONS>15,1,0)
dat_nba$cut_salary<-as.factor(dat_nba$cut_salary)
dat_nba<-select(dat_nba,-PLAYER,-SALARY_MILLIONS,-TEAM)
cat('目标变量:\n')
summary(dat_nba$cut_salary)
cat('\n')
names(dat_nba)
目标变量:
0 1
291 51
[1] "X" "Rk" "POSITION" "AGE" "MP" "FG"
</