R语言—决策树初探

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43782874/article/details/84665475

title: “决策树”
author: “yan”
date: “2018年10月26日”
output: html_document

# 获取当前工作目录
getwd()
# 设置当前工作目录(改变)
setwd("D:/")

app=read.csv("app_tot.csv")
# dim数据维度
dim(app)
#变量属性(int整数,num数值)
str(app) 
#加载包
library(dplyr)

dat=app%>%filter(max_platform=='TAOBAO'|max_platform=='TMALL')%>% select(revolving_type_apply,age,province,granted_amount_w,applied_amount_w,RF_Score,cms_final_limit_w,app_source,
          gmv12_w,max_active_days,v4_ret_hun,v4_ret_new,ever3_od30)
#summary()函数提供了最小值、最大值、四分位数和数值型变量的均值
summary(dat)
# floor():向下取整;ceiling(): 向上取整;round(): 四舍五入取整;turnc(): 向0取整;signif(): 保留给定位数的精度。
# nrow(x):行的个数 ncol(x):列的个数
smp_size <- floor(0.6 * nrow(dat))
# seed随机数种子
set.seed(2)
# sample(x,size):从x中随机抽取size大小的样本
#seq_len(5)用于创建一个从1开始到n的序列
train_ind = sample(seq_len(nrow(dat)), size = smp_size)
train <- dat[train_ind, ]
#删除抽样行
test <- dat[-train_ind, ]
# dim数据维度
dim(train)
dim(test)

#rpart#

library(rpart)
fit<-(ever3_od30~.)
#cp复杂度参数,通常设定阈值来剪枝
#minsplit每个节点所含最小样本数
#rpart建立决策树
rtree<-rpart(fit,data=train,minsplit=10, cp=0.02,maxdepth=4)
#可以打印决策树的复杂性参数,观察树的误差等数据
printcp(rtree)

library(rpart.plot) 
#画出树图
rpart.plot(rtree, type=2) 
######################################################################################################################################
#利用预测集进行预测
pre_train<-predict(rtree)
#输出混淆矩阵
table(pre_train,train$ever3_od30)


pre_test<-predict(rtree, newdata = test)
table(pre_test, test$ever3_od30)



library(pROC)
## train
modelroc <- roc(train$ever3_od30,pre_train)
plot(modelroc, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1, 0.2),
     grid.col=c("green", "red"), max.auc.polygon=TRUE,
     auc.polygon.col="skyblue", print.thres=TRUE)




## test
modelroc <- roc(test$ever3_od30,pre_test)
plot(modelroc, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1, 0.2),
     grid.col=c("green", "red"), max.auc.polygon=TRUE,
     auc.polygon.col="skyblue", print.thres=TRUE)

猜你喜欢

转载自blog.csdn.net/weixin_43782874/article/details/84665475