




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章决策树决策树决策树是一类有监督的学习算法,可以视为同一组if/then规则的集合,但是从结构上看决策树又是一种树状模型。如果针对的是分类问题,一棵决策树中的每一片树叶都代表一个类别的标签,而每一个非树叶节点则表示一个条件测试,每一个分支表明了条件测试执行的结果。训练好决策树后,就可以用做分类预测:从树根开始,根据数据样本是否满足当前条件,来选择应该继续访问哪一个子节点,这样就可以一步一步地到达树叶,从而判断样本的类别。从树根到树叶的一条路径就反映出对样本分类的过程。与其他机器学习方法相比较,决策树易于理解,也不需要对数据进行复杂的预处理,既不需要标准化,也无须特别关注NA数据。决策树过程生成决策树的步骤得到一棵全局最优的决策树是NP难的问题,现实中依赖各种贪婪算法求解决策树的训练问题。CART是分类与回归树的简称(ClassificationandRegressionTrees),该算法生成的决策树既可用于分类,也可用于回归。构建CART决策树的基本步骤可以概括成以下几点:对于给定的训练数据子集,寻找预测标签的最佳特征;划分上述特征以获得最好的分类结果,划分出两个新的数据子集;重复步骤1和2,直到满足停止条件。决策树过程rpart包rpart包实现了可用于分类或回归的决策树。rpart()函数的使用方法相对简单,其调用形式为:rpart(formula,data,weights,subset,na.action=na.rpart,method,model=FALSE,x=FALSE,y=TRUE,parms,control,cost,...)参
数说
明formula表示因变量与自变量关系的响应公式,如y~x1+x2表示y依赖于x1和x2data可选项,用于解释公式中的变量名,通常是包含formula中变量的数据框weights可选项,案例权重subset可选表达式,表示哪些数据行构成的子集可以用于拟合
na.action处理缺失项的方法,默认情况下删去没有因变量的样本,但是保留缺少部分自变量的样本method可选项包括“anova”“poisson”“class”或“exp”。如果未提供该参数,程序会根据因变量的数据类型自行猜测。如果因变量是因子型,默认method="class";如果是数值型,假定method="anova";如果是生存对象,假定method="exp";如果包含两列,假定method="poisson"。建议调用时明确指定所需方法决策树过程决策树聚类:鸢尾花分类install.packages
("rpart")
#安装包library
(rpart)
#载入包#因变量为Species,公式中的.表示自变量为其余属性,#method="class"表明是分类树fit
<-
rpart
(Species
~
.,
method="class",
iris)选择用与聚类时同样的长宽尺寸特征来完成分类。很多深度学习包都会带有支持GPU多线程运算的版本,需要更复杂的安装过程。rpart()函数产生的分类树十分简单,只有两个条件节点和三片树叶。决策树过程决策树画图函数使用泛型函数plot()画出来的决策树过于简单,而且非常不美观。可以使用rpart.plot包中的rpart.plot()画图。安装好rpart.plot包后,执行下列语句:>
library
(rpart.plot)>
rpart.plot
(fit)决策树过程独立性可视化
pairs
(iris[1:4],
line.main=1.5,
main
=
"Iris数据集特征对比(红:setosa
,绿:versicolor,蓝:virginica)", pch
=
21,
bg
=
c("red",
"green3",
"blue") [unclass(iris$Species)])决策树过程E1071包library(e1071)
#加载包e1071classifier
<-
naiveBayes(iris[,1:4],
iris[,5])
#创建分类器
table
(predict(classifier,
iris[,-5]),
iris[,5])
#生成混淆矩阵
#混淆矩阵的结果
setosa
versicolor
virginica
setosa
50
0
0
versicolor
0
47
3
virginica
0
3
47
在e1071包中包含了朴素贝叶斯模型用户可以直接调用naiveBayes(),在参数中分别给出自变量和因变量。虽然一些特征和独立性假设并不一致,但是还是可以取得非常好的分类效果。决策树过程泛化性能set.seed
(2018)
#初始化随机种子index
<-
sample
(x
=
2,
size
=
nrow
(iris),
replace
=
TRUE,
prob
=
c(0.8,0.2))
#按照80%与20%比例划分iris.Training
<-
iris[index==1,
]
#训练集iris.Test
<-
iris[index==2,
]
#测试集classifier
<-
naiveBayes(iris.Training[,1:4],
iris.Training
[,5])table
(predict(classifier,
iris.Test[,-5]),
iris.Test[,5])把数据集分成两部分,分别用于训练与测试。使用抽样函数sample()来划分数据集,按参数prob中给出的比例随机从x中生成数量等于size的整数。设置replcae=TRUE,使用置换抽样的方法。决策树过程Part/
01递归决策树递归决策树及可视化决策树对分类结果的预测是基于一个或多个输入变量并结合划分条件完成的。分裂过程从分类树树根节点开始,在每个节点,算法根据划分条件检查输入变量是否需要继续向左子树或右子树递归进行划分当到达分类树的任意叶子节点(终点)时,停止分裂。评价递归决策树预测能力如何调用predict函数和table函数分别生成预测表以及实际类标号表。首先,需获得分类模型churn.rp和准备好之前提到的训练数据trainset和测试数据集testset,然后执行以下操作完成对分类树的预测性能验证。递归决策树剪枝我们已经为churn数据集构建了一棵复杂的决策树。但是,为了避免过度适应,我们需要去掉一部分分类描述能力比较弱的规则以提高预测准确率。条件推理树除了传统决策树(rpart)算法外,条件推理树(ctree)是另外一类比较常见的基于树的分类算法。与传统决策树类似,条件推理树也是通过非独立变量进行单变量分裂来实现对数据的递归划分处理。与传统决策树不同是,条件推理树选择分裂变量时依据的是显著性测量的结果,而不是采用信息最大化方法(rpart里使用了基尼系数)。条件推理树预测能力在搭建好条件推理树分类模型后,就可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 证婚人的讲话稿(15篇)
- 购物中心迎圣诞贺元旦活动方案
- 2025年中小学读书节活动方案
- 销售团队业绩考核方案
- 三年级数学因数中间或末尾有零的乘法综合测验题带答案
- 防溺水安全教育视频观后感
- 采购单位年终总结
- 2025蔚来汽车年度事件营销PR传播推广方案
- 药事管理工作制度
- 质量体系审核员工作总结
- 华为云:2024年EMS弹性内存存储技术白皮书
- 教育网安全管理协议试行范本合集
- 混凝土实测实量记录表
- 全国职业院校技能大赛(新材料智能生产与检测赛项)选拔赛试题库(300题)
- 幼儿园夏季护理培训
- 高等职业学校电梯工程技术专业实训教学条件建设标准(征求意见稿)
- 2024年锦州师范高等专科学校单招职业技能测试题库及答案解析
- 2024年国家电网招聘之通信类题库附参考答案(考试直接用)
- 2024年贵州省工业投资发展有限公司招聘笔试参考题库附带答案详解
- 小班语言《鸡妈妈的翅膀》课件
- 早产儿口腔运动干预治疗
评论
0/150
提交评论