R语言数据分析与挖掘 课件 第5章 决策树.pptx

R语言数据分析与挖掘 课件 第5章 决策树.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第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???????4

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档