R语言-决策树-party包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/symoriaty/article/details/78396941
1、首先解释下熵和吉尼系数在决策树的功用

       决策树学习的关键是如何选择最优的划分属性。通常,随着划分过程的不断进行,我们希望决策树的内部分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。

       “熵”是衡量样本数据集纯度最常用的一种指标。熵值越小,则样本的纯度越高,或者说样本的杂乱程度越小。

       “吉尼系数”也可以用来衡量样本数据集的纯度。吉尼系数越小,则表示该节点可以有效的把同一类聚集在一起。反之,分割后的类别越杂乱,则吉尼系数会越大。在决策树生成时,当用到吉尼系数这个方法时,通常会计算每一个特征的吉尼系数,接着比较各个特征下的吉尼系数,系数越小的特征越适合先作为内部节点。

2、party包,readingskills数据,建立nativespeaker决策树

直接放R语言代码

#install.packages(“rpart”) #安装party包,只需在首次运行改脚本时安装
library("party") #调出party包
mydata <- readingSkills #将readingSkills数据存储在mydata里头
names(mydata) #查看mydata中有几个变量
str(mydata) #查看每个变量的数据结构
summary(mydata) #计算各变量的基本描述性统计量


plot(x = mydata$shoeSize, y = mydata$score, 
     xlab = "shoeSize",
     ylab = "score",
     main = "shoeSize VS score")  #画shoeSize和score散点图,X轴是shoeSize,Y轴是score,图名是"shoeSize VS score"


library(rpart) #调出rpart包
my.tree <- rpart(formula=nativeSpeaker ~ age + shoeSize + score, method="class",
                 minsplit =20, cp=0.05, data=mydata) #决策树结果存在my.tree对象中


printcp(my.tree) #显示不同cp值下的错误率


#install.packages("rpart.plot") #安装rpart.plot包,只需在首次运行改脚本时安装
library(rpart.plot) #调出rpart.plot包
rpart.plot(my.tree, type=2) #type是图形表示的类型,有1、2、3、4四种,差异不大


猜你喜欢

转载自blog.csdn.net/symoriaty/article/details/78396941