你好,这里是R数据课堂,我是一水。
我们先来回顾一下第五课的关键语句参数:
# 纵坐标ylim
# 图形宽度xlim,width,space
# 图形宽度border
# 图形填充色col
# 行标签cex.names
# 数据标签text
今天这节课我们来学习决策树分类模型C5.0:
数据准备
模型输出
01 数据准备
credit
str(credit)
这个数据集的变量是贷款申请人的相关信息,可以看到数据集中既有因子变量也有数值变量。这堂课的分析我们用default作为因变量,其他变量作为自变量。这次分析的目的是根据自变量信息判断申请人是否会拖欠贷款。
02模型输出
library("C50")
model
summary(model)
模型分析语句中,credit[-17]表示自变量信息,summary命令显示模型结果,由于决策树比较大,这里我们只显示部分结果进行说明。
第一部分是决策树结果:
左侧红色方框是结果中的变量使用顺序,变量越早出现说明变量的重要性越高,这次分析的最重要的变量是checking_balance,其次是credit_history,然后是housing,接下来是housing的不同分支对变量的使用。
右侧绿色的边框是叶节点的输出,包括因变量的结果(NO)、到达该叶节点的数据点数量(457)和对因变量分类错误的数据点数量(60)。
决策树第一行输出的意思是,checking_balance变量的值>200 DM(货币单位,德国马克)或者变量值是unknown的数据点一共有457个人,这些人会被模型判定为NO(不拖欠贷款),这其中有60个人的判定是错误的(有60个数据点实际是YES,却被模型判定为NO)。
第二部分是模型结果与真实结果的对比:
可以看到判断正确的数据点数量是868(668+200),所以模型的准确率是86.8%(一共1000个数据点)。
这里需要注意一点,这个案例是判断贷款申请人是否会拖欠贷款,如果实际上会拖欠的申请人被模型判定为不会拖欠贷款,这样的判错成本是很高的,所以评价模型除了使用准确率还要结合实际情况进行理解。
第三部分是变量的使用情况:
可以看到最重要的三个变量是checking_balance、credit_history和months_loan_duration。
03 小结
这节课我们学习决策树分类模型的用法,先用C5.0语句建立模型,然后用summary语句查看模型结果。如果想要预测新的数据点的分类情况,请用如下语句:
credit_pred
model是上面已经建立的决策树模型对象,credit_test是新数据点对象。
其实决策树容易存在过拟合的问题,一般会先把数据集拆分为两部分,分别是训练集和测试集,训练集用来拟合模型,测试集用来检验模型的性能。这属于模型优化的内容,后面的课程会具体讲解。
感谢阅读,今天的课程有任何操作问题,请留言。
领取专属 10元无门槛券
私享最新 技术干货